A coding room needs to answer a few ordinary questions. Can someone join? Has the owner accepted them? Has the actual work started? Is this session finished?
A green dot answers none of those questions.
Give the room a vocabulary
PairMe uses explicit room states. They describe the work, rather than just someone’s presence.
| State | What it means |
|---|---|
| Open | Available for requests |
| Requested | At least one request needs owner review |
| Matched | A collaborator is accepted; live work has not started |
| Live | The owner has started working |
| Completed | Closed, with a read-only outcome |
| Cancelled | Closed without a completed session |
These states are documented in the PairMe repository. The successful path can run from open to requested, matched, live, and completed. That is a useful example path, rather than a claim that every session follows a single straight line.
Access and presence are different things
A request to join is not permission to enter a call. PairMe gives the room owner control over requests and capacity. The product can explain who has been accepted before a video client is involved.
The room brief also carries a problem, stack, and repository context. It gives a potential collaborator something more useful than “anyone online?”
Make the live session a boundary
The live-session UI is loaded when a permitted member chooses to enter. The video client connects through a server-backed Stream token provider before joining a call.
That boundary is useful for both access and loading: discovering a room does not need to load the entire live-video interface.
Camera and microphone access are optional. Someone can join without either device, rather than treating a permission prompt as the price of entry.
Leave something after the call
The product supports shared Markdown notes, session outcomes, and links to GitHub issues, pull requests, and commits. A completed room becomes a read-only record.
The point of a session is the work that changed. Its outcome should be easier to find than a conversation someone vaguely remembers having.