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
Snap together a trigger, some logic, and an action — then press Run and watch the data move through each block. No code, no sign-up.
Watch information change as it moves through your workflow.
The builder
Click blocks to add them to the chain, click a chain block to configure it, then press Run and watch each block light up as data passes through. Same blocks, same inputs — same outputs, always.
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.
This builder grew out of Mini Lab v0.1. 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.
Plain-language automation
Something happens, a decision gets made, something gets done — every workflow is that shape.
Why deterministic matters
No randomness, no model call — just small fixed rules, top to bottom. A chain built today behaves identically tomorrow; only live data can differ. A feed that's down says so instead of inventing numbers.
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./api/live proxy to fetch the feed, exactly as the row above explains.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. The Automation Lab is free to use as often as you like — no account, no sign-up. Your chains are never uploaded; the SAVE block stores results in your browser's local storage. PlainLogic may introduce optional accounts or paid features in the future, but the core labs are free to use today.
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.