Skip to content
Engineering · 2 min read

Seat-based channels: presence without the meeting link

Remote Desk has no 'join call' button: the seat you sit in is the call you're in. How it works, why we deleted the alternative, and what it makes possible.

The Remote Desk team

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 in a room and you are in its call, muted until you choose to unmute. Turn your camera on and your tile joins that room's call. Stand up and walk out onto the open floor, and you are in no call at all. 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 live on the floor, features that are awkward elsewhere become natural:

  • Side conversations. Need a quick word away from the main discussion? Two people walk into the empty room next door, and that room is their call. Breakout rooms without the admin.
  • Polite interruptions. You can see a conversation before you're in it. A private room has a door: you knock, and you hear nothing until someone inside lets you in.
  • Instant reorganisation. A meeting that should split into two? People just… move seats. The "meeting" follows the furniture.
  • Honest availability. Someone alone in their own office is heads-down; someone in the shared lounge is easy to find. 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.

Give your team a place to show up

Build a floor, take a seat, and see what changes. It's free to start.