The FrogNet Living Network
No data center, no carrier, no cloud in the path. FrogNet carries it by routing meaning, not data — every node holds one living memory and sends only what changed. Nothing central ever holds the call.
Seattle laptop → node → WireGuard / internet → New York node → 900 MHz radio → NY laptop · last hop a radio Observed, live
What you're watching
What makes it possible
FrogNet rejects the archaic network. UnREST is what networking looks like once it adopts what software engineering already figured out: stop re-sending state you already have, stop chaining caller to callee, make the shared structure the source of truth. REST still assumes 1969 — endpoints, infrastructure in the middle, every exchange a self-describing message. FrogNet throws that architecture out for one flat, living plane where the nodes hold the shared state themselves. Once the network works that way, the code can too: two nodes stop conversing, hold the same learned structure, and exchange the difference over a compact codec. That's UnREST — the anti-REST. An encoding, not encryption; it conveys meaning and hides nothing. Bandwidth stops being a wall.
The call is UnREST applied to the media plane itself — hold the structure, ship the difference, newest wins, degrade don't stall, now governing frames on a starved link instead of state between nodes. Realtime video, both directions, is the hardest case there is. It's done.
The video wasn't wired into FrogNet. It's a custom protocol handler written on the framework — running inline in the data path with the same complete object interface every handler gets: it advertises, converges, degrades, and heals for free, because the fabric already does. Transport of difference is solved once, for everyone — so a new protocol never re-solves transport, framing, reliability, backpressure, or degradation. It supplies its structure and what it means; the rest is already underneath it.
A handler for a sensor bus, an industrial control loop, or a new codec is a thing you write, not a stack you rebuild — it drops into the fabric, runs inline, and inherits compression, convergence, resilience, and transport-independence for nothing. Video was the ceiling; everything under it is within reach. FrogNet can do this because of how it's built: the network is already one shared, living memory, so a protocol only has to supply meaning.
Semantic compression
Both ends already share the structure, so the wire carries only the change. An encoding, not encryption — it hides nothing; it just refuses to repeat what you both already know.
UnREST
The anti-REST. Instead of trading self-describing messages, two nodes hold the same learned memory and exchange the difference over a compact codec.
Media / control split
The Communicator peels the audio and video away from the control channel and all the framing overhead that normally rides with them. Only the media itself crosses the wire.
Active wire management
The stream is held to whatever the link can carry, moment to moment. The newest frame wins; nothing queues up to arrive late and stale. That's why there's no four-second delay.
Elimination of network redundancy
Stale is reaped, current wins, and an unchanged thing re-asserts itself in a few bytes instead of resending its whole state. Nothing on the wire repeats itself.
Living memory
A floating, in-network database gives every node the current picture of the whole system in real time — no polling, no round-trip to a server that might not be there.
Self-forming · healing · optimizing
Devices latch onto any bearer on contact, routes re-form around a failure without waiting for anyone to agree, and the fabric keeps choosing the better path as conditions change.
Transport independence
One flat plane over Ethernet, Wi-Fi, tunnel, 900 MHz, LoRa, or satellite. Connectivity is accomplished by transport, not the other way around.
"Isn't this just a VPN?" — no, and the difference is a category, not a feature count
Every rung stands on its own and earns the next — and the first one costs no code at all. Nobody tears out their network to get the first benefit; start at the margin and grow inward.
A site served on FrogNet gets the win with no code changes: between nodes, the proxy shrinks its unmodified HTTP ~96% on the wire. Semantic compression sends meaning instead of bytes; SAME/DIFF stops re-sending what hasn't changed. No handler, no rewrite. This is FrogNet-to-FrogNet traffic — a site inside the fabric. General internet sites out on the open web aren't optimized; there's no node on the far end to share structure with.
One LAN, a handful of nodes, no broker and no tunnel anywhere. Complete on its own — presence, messaging, media, shared memory — with nothing in the middle.
One box joins your existing network to the rest. The fabric forms itself over whatever bearer it finds — Wi-Fi, tunnel, radio — and your world keeps working exactly as it did.
Drop one protocol — your sensor bus, your control loop — onto an otherwise conventional deployment. It runs inline and inherits everything the fabric already does.
Multiplexed bearers, a floating data host, self-healing routes across the internet and the radio at once. When you're ready — not before.
Each of these is a product on its own. FrogNet is all of them, in one flat plane, over any bearer.
A floating, in-network database gives every node the current picture of the whole system in real time — no polling, no round-trip to a server that may not be there.
BLDC-1 conveys the structure both sides share instead of raw bytes. ~20× typical, 44× on narrow links — a video call fits where a text chat used to.
Devices latch onto whatever medium is present on contact — Ethernet, Wi-Fi, tunnel, 900 MHz, LoRa, satellite. Nobody has to be a network or RF engineer.
Stale is reaped, current wins, and the network re-forms around a failure without waiting for anyone to agree. A dropped link is a re-route, not an outage.
No cloud in the loop and no central server holding your data. On a local network there's no broker and no tunnel at all — it's complete on its own.
Not just people talking — sensors, actuators, and data. An operator drove a New York actuator through a Seattle database and back, live.
Measured = captured on the real engine. Observed = seen live in the field. Estimated = derived from published figures and labeled as such. The grading is the point.
The baseline — HD holding steady over the 900 MHz link, before any degradation
REST asks and answers, resending state every turn. UnREST assumes both ends hold the same learned structure and ships only the change — a reference-diff over a compact codec. Convergence is the means; operation is the point.
# full state, every turn POST /move { "board":[24 points, full], "dice":[3,5], "turn":"w" } # ~40,011 bytes / game
# both sides hold the board DIFF 8/3 6/3 # peer applies it locally # ~1,981 bytes / game # degrades to a 25-byte beacon
Connectivity is accomplished by transport, not the other way around. Bearers multiplex in one topology — one gateway on the tunnel, one on the radio, one on the uplink; one flat plane.
A deterministic control plane names the authority; the data host floats and is elected, only in the merge, never from client space. No node blocks waiting for the mesh to agree.
Transport independence → self-forming discovery and route optimization → route resilience and fault tolerance → system survivability. Each layer earns the next.
The whole system runs against a simulator — real code against modelled networks. A claim is proven by a test that fails on the old behavior and passes on the new. Nothing is "confirmed" by assertion.
Not a chat app riding on a network — one application that is the install surface, brings the node up, and carries presence, messaging, voice, video, and the launcher for everything else. Install it, and the box becomes a node on a living network. That's the whole setup.
What you install
One app — the Communicator
= install surface
+ node bring-up (.1, AP, DHCP/DNS, routing, elections)
+ presence · chat · voice · video
+ launcher for everything else
// no SDK, no pip-install, no cloud
Personal, hobby, educational, research, and development use — including wiring up your own neighborhood. Build on it freely.
Deploying FrogNet in a commercial product or operation takes a paid license. One conversation, not a maze.
The source isn't published yet, and that's a decision, not an accident. The interfaces are promises we intend to keep; there's a Python 2→3 cleanup between here and a public tree, and a Foundation to steward it. When it opens, it opens on stated terms — up front, not discovered later.
FrogNet is one person's answer to a problem the industry mostly routes around — built and hardened over years, not quarters. The same posture is for hire: read the actual system, find the real cause wherever it lives, instrument until it's provable, ship a fix a test can prove. If your problem lives in the seams between application, kernel, radio, and network, that's the work.
Daniel Tone — co-founder and VP of Engineering — leads hardware and RF, and ran both the April 17 closed-loop demo and the HaLow field drive.