Real-time editing.
Two people in one notebook, no merge conflicts. Presence in the header, cursors per cell, soft locks while someone's mid-edit.
Presence
Anyone with access who has the notebook open shows up in the presence stack at the top of the editor. Each collaborator gets a color and an avatar. Hover for their name; click to jump to wherever their cursor is.
Presence updates within a second over WebSocket. When someone closes the notebook, they fade from the stack after a short heartbeat timeout — useful for spotting a stale session.
Cursors & selections
- Cursors — colored caret matching the collaborator's presence color, labeled with their initials, updates in real time per line and per character.
- Selections — a translucent highlight in their color shows the range they've picked. Useful for "look at this" without screen sharing.
- Focus — a soft outline around the cell they're actively editing.
Soft locks per cell
When someone starts editing a cell, Orchid puts a soft lock on it for everyone else. The cell turns read-only for other editors with a small "[name] is editing" banner. The lock releases on blur — they click somewhere else, the cell unlocks within a second.
Two consequences worth knowing:
- No character-level CRDT inside a cell. By design — cell sources stay readable in git diffs and easy to merge by hand.
- Different cells are independent. You can edit cell 1 while a collaborator edits cell 2, no contention, no waiting.
The lock is cooperative — if someone's offline mid-edit, the lock times out after 30 seconds and the cell reopens. Their pending edits show as a proposal banner when they reconnect, like an agent proposal.
Running cells together
Cell runs are scoped to each person's kernel — when a collaborator runs a cell, their kernel runs it, not yours. The output you see in the notebook is the last saved output (the one in the YAML). Anyone running a cell broadcasts a small "running" badge so you can spot conflicts.
For shared, deterministic runs — "refresh the dashboard" — use auto-refresh schedules instead of asking teammates to coordinate.
The chat sidebar
Each project has a lightweight chat sidebar — quick messages between collaborators that don't need to be cell comments. Useful for "done with the cleanup, your turn" or "does this look right?"
Network & offline
Orchid sync runs over WebSocket on top of HTTPS. If your connection drops, the app keeps working locally — you edit, you run cells, you see outputs. On reconnect, your changes push and remote changes pull. Conflicting edits (two people editing the same cell while offline) surface as a proposal banner; pick the version you want or merge by hand.
Real-time sync requires the project to be published. Local-only projects can still be opened by you on multiple machines, but cross-collaborator sync runs through the cloud.
Up next: Comments, Publishing, and Permissions. Back to the Collaboration overview.