Offline Protocol

Mesh playground

Every device here runs the real Offline Protocol engine, compiled to WebAssembly. Nothing about forwarding is faked: you are watching the engine decide who carries what.

Double-clickDouble-tapadd a device Dragmove it ClickTapa device, then another, to send Right-clickLong-pressremove a device

Devices

Crowd

Air

Playback

Send

Message
Route
→
Advanced

Network

0round
0frames
0lost
0in flight

Legend

message receipt retry control lost

Messages

routestatusframesrelays

Log

    Welcome to the mesh playground

    Each circle is a device, like a phone with no signal and no Wi‑Fi. It can only reach the devices inside its radio range (the dashed ring), so a message crosses the crowd by being passed from device to device.

    Every device runs the real Offline Protocol engine, compiled to WebAssembly. Nothing about forwarding is faked: you are watching the engine decide who carries what.

    How a message gets through

    Send a message and it floods out: every device that hears it hands a copy on to its neighbors, one hop per round, until it reaches the recipient. The recipient then sends a receipt back, which is how the sender learns it was delivered.

    message receipt retry control lost

    A faint flicker is the engine's own housekeeping between neighbors. A red beam that sputters out is a frame the air lost.

    Try it yourself

    Double-clickDouble-tapadd a device Dragmove it ClickTapa device, then another, to send Right-clickLong-pressremove a device

    Or pick a sender and recipient under Send, on the left. The Network panel on the right follows every message to the end.

    The controls, the network and the log live in the sheet at the bottom: drag it up, or tap a tab.

    Now try to break it

    Radio rangeShrink it and the mesh splits into islands no message can cross.
    Frames lostMake the air noisy and watch retries get messages through anyway.
    Pause, Step one roundFollow a message one hop at a time.

    Every control has a beside it that says more.