(OBS window capture →
demo.mp4 / demo.gif)
Seven beats, cut on the action
The full recipe lives in docs/demo-shot-list.md. Each frame below is a moment to capture; the client action drives the on-screen reaction.
Load a scenario & START
CONFIG tab → pick IOT SENSOR from the dropdown → LOAD. A rule and a feed appear; transport reads TCP+UDP. Hit START — the status pill flips ONLINE.
"One click stands up a whole device simulator."
A client connects
In a terminal: python probe.py. The DASHBOARD tiles jump, the throughput line moves, the LIVE FEED fills, and a client row appears.
"Everything the client does, visible."
Read the bytes
MESSAGES tab → toggle HEX. Text or exact bytes on the wire, binary auto-tagged.
"This is what the device actually sent."
Script a reply
RULES tab shows the READ → sample rule. Send READ (python probe.py --send READ) — the templated JSON comes back and the hit count ticks.
"Responses are content, not code — regex in, template out."
Kick, instantly
CLIENTS tab → KICK the probe. It drops at once, the row vanishes, a disconnect lands in the feed.
"Instant, not a polite timeout."
Record & replay
RECORDER tab → RECORD, let a few messages flow, STOP → EXPORT .JSONL → LOAD INTO REPLAY → REPLAY. The progress bar sweeps.
"Capture a session, hand it to a student, replay it tomorrow."
Close on the map
Load the GEO preset and python probe.py --hold 20 — the world-map marker stream (FTXUI_SOCKET, folded in) as a living close-out.
● Media pending capture
The frames above are placeholders. To fill them: run the walkthrough with the app,
capture per docs/demo-shot-list.md (OBS window capture, 60 fps), drop the images
into docs/media/ and swap each placeholder <div class="media ph">
for an <img>. Nothing here is a mock-up of the UI — just labelled slots.
One binary, one window, START and watch.// the cheapest thing in the family to demo