Seat-based channels: presence without the meeting link
Remote Desk has no 'join call' button. The seat you sit in is the channel you're in. This post explains the model, why we deleted the alternative, and what it makes possible.
Dario Reyes — Co-founder & CTO
The most important feature in Remote Desk is one we removed: there is no button to join a call.
Instead, there's one rule, applied everywhere: your seat is your channel. Sit at a voice table and your microphone is live to that table. Sit in a video room and your camera joins its tiles. Move to the silent lounge and everything switches off. The floor plan isn't a picture of your communication system — it is the communication system.
Why a rule beats a button
Buttons require decisions, and decisions have social cost. "Should I join their call?" is a surprisingly heavy question — heavy enough that most people don't, and the conversation that should have happened doesn't.
Sitting down is different. It's the most legible social act there is. Nobody has ever been confused about what it means to take a seat at a table. By attaching all of our audio/video semantics to that single act, the entire system becomes learnable in about ten seconds, by watching someone else do it once.
There's a quieter benefit too: symmetry. With meeting links, the people in the call can't see who's nearby, and the people outside can't see the call is happening. With seats, both sides see the same floor. The conversation is a visible, physical fact.
The derivation trick
Under the hood, this model has an elegant property: a participant's channel is derived state, not declared state.
The only thing each client broadcasts about you is which seat you occupy — a single ID. Every client independently derives the rest from the shared floor data:
channel(participant) = room(seat(participant)).channel
No "user X joined channel Y" events. No channel membership lists to sync, drift, or repair after a reconnect. If two clients agree on the floor layout and on who sits where — two small, easily-synced facts — they automatically agree on every channel's membership. A whole class of distributed-state bugs simply doesn't exist.
What it makes possible
Once channels are spatial, features that are awkward elsewhere become natural:
- Side conversations. Two people at the end of a long table are in the same channel but quieter to the far end — proximity audio handles the rest. Breakout rooms without the admin.
- Polite interruptions. You can see a conversation before you're in it. Walking over and hovering at the edge is a knock that needs no feature.
- Instant reorganisation. A meeting that should split into two? People just… move seats. The "meeting" follows the furniture.
- Honest availability. A seat in the focus row says busy. A seat in the lounge says interruptible. Status messages become decoration instead of infrastructure.
We've stopped thinking of this as a feature of the product. It's closer to the product's grammar — the one sentence from which everything else is built: you are where you sit.