A transformer is a stack of layers run in order, and nothing requires one machine to hold all of them. Cut the stack into ranges: this laptop loads the first layers, another machine loads the next, and each token travels the chain as a single hidden state hopping from one browser to the next over a peer-to-peer connection. Whoever holds the link just chats, and never learns the model was assembled out of parts.
Each machine downloads only the layers it holds, and keeps the attention cache for those layers alone. The one that starts the model carries the embedding; the one that ends it carries the output head.
What crosses between machines is the bare residual — one hand-off per token, on its own data channel so it never queues behind a reply being streamed to a guest.
A guest opens the room link and types. No WebGPU, no download, nothing runs on their machine; the conversation lives in their tab and the machines serving it are stateless between requests.
A guest can copy the cached weights straight from the machine serving it, over a second channel, instead of fetching them again. What it gets is whatever that machine holds — in a split, one layer range.
The link builder needs JavaScript. Without it: share.html
is the room surface — open it as
share.html?model=<model>&layers=0-k on the first
machine, then share.html?model=<model>&layers=k-N#<room>
on the next, and share.html#<room> for anyone who
only wants to chat.
What this needs. The machines connect directly to each other; the relay only passes connection details, and prompts and tokens never touch it. There is no TURN relay in the connection config, so machines on the same network, or behind ordinary home routers, find each other — a corporate or hotel network usually will not let them. Splitting also needs an MLX checkpoint: the MLC builds fetch whole shards, so skipping layers would save no download, and only the models the builder lists can be cut. Every serving tab should stay awake — share.html has a switch for that, and a machine whose tab is asleep serves nobody.