Situation Room
The live feeds this lab's triggers read from — weather, alerts, earthquakes, radar, and more — in a full operations console.
Interactive lab · Automation
Build tiny deterministic workflows right in your browser: snap together a trigger, some logic, and an action — then press Run and watch the data move through each block. No code, no AI, no sign-up.
The compact Mini Lab v0.1 lives on the homepage — this is the full builder. Same idea, bigger bench: live weather, alerts, earthquake, and water feeds, a wider block library, configurable blocks, and step-by-step execution with a run log. Open the Mini Lab →
The builder
Click blocks in the palette to add them to the chain, click a block in the chain to configure it, then press Run and watch each block light up as the data passes through. The same blocks with the same inputs always produce the same outputs — the only thing that can differ between runs is the live data itself.
Deterministic: the same blocks and inputs always produce the same outputs. Live data is the only thing that can differ between runs. If a feed is down or a block needs something it doesn't have, the run stops honestly at that block instead of guessing.
Block settings
Select a block in the chain to configure it.
Data in transit
{}
The shared context every block reads from and writes to, updated after each step.
Run log
Results
DISPLAY blocks render their result cards here.
Plain-language automation
Every workflow is the same shape: something happens, a decision gets made, something gets done. The Automation Lab just makes each part a block you can see.
A trigger produces the first data. Live Weather, NWS Alerts, Earthquakes, and Water Level fetch real feeds through the same live-data proxy the Situation Room uses. Timer captures the current moment, Form Input asks the visitor a question, and Sample JSON / Sample CSV let you experiment with data you type yourself.
IF is a gate: if the condition is false, the chain stops honestly right there and later blocks never run. COMPARE, CONTAINS, FILTER, MATH, and TRANSFORM read the data, do their one job, and write the result back into the shared context for the next block to use.
DISPLAY renders a result card with your message template. DOWNLOAD saves the result as a file. SAVE keeps it in your browser's local storage. NAVIGATE opens a PlainLogic page — or a source link that came from the live data itself, like the USGS page for a quake.
Why deterministic matters
There is no randomness and no model call anywhere in a run. Each block is a small, fixed rule, and the runner executes them top to bottom, one at a time. That means a chain you build today behaves identically tomorrow — the only variable is the live data it reads. When a feed is down, the block says so instead of inventing numbers, because a workflow you can't trust is worse than no workflow at all.
run(context) function. Triggers produce the first data, logic blocks read and annotate a shared context object, and actions consume it. Because blocks are just data, a chain can be described, rebuilt, and re-run exactly the same way every time./api/live endpoint the Situation Room uses (GET /api/live?source=…&lat=…&lon=…), so feeds, error shapes, and empty states are consistent across the lab. A null data field means the source failed — the block reports it and stops the run instead of guessing.Questions
No. You build by clicking blocks: a trigger like Live Weather, a logic step like "rain chance greater than 60", and an action like Display. Settings are plain-language fields and dropdowns. The only syntax to learn is {{placeholders}} for message templates — for example, {{rain_max}} drops the max rain chance into your message — and the builder shows you which fields are available.
No. There is no language model and no AI API anywhere in this lab. Every block is a small deterministic rule: the same blocks with the same inputs always produce the same outputs. The only thing that changes between runs is the live data itself.
The block that needs the feed reports "feed unavailable" and the run stops honestly at that block. Nothing downstream runs on made-up data, and nothing else on the page breaks. Feeds arrive through the same /api/live proxy the Situation Room uses.
No. Your coordinates live in the page's memory while it is open. They are only saved to your own browser's localStorage if you tick the "Remember in this browser" box, and they are sent only to the live-data proxy to fetch the feeds you asked for.
Yes. Like everything in the PlainLogic lab, the Automation Lab is free to use as often as you like. No account, no sign-up, no paid tier. Your chains are not saved anywhere; the SAVE block stores results in your own browser only.
Keep exploring
The live feeds this lab's triggers read from — weather, alerts, earthquakes, radar, and more — in a full operations console.
The next bench over: take raw feeds, clean and reshape them, and watch each stage of a pipeline transform the data.
Games, experiments, the compact Mini Lab v0.1, PDF tools, and the blog — the full bench.