Case study · AirDeck
Client project · AugmentProject period2022 – 2023
Real-time collaboration
Implemented WebSocket-based multi-user collaboration with presence indicators, user-activity tracking, and slide-level coordination.
01
Why
A deck has many slides, and at first a change made by one person wasn't shown to others in real time. When several people edited, they overwrote each other's work and hit deadlocks.
02
Decision
I turned the deck into a collaboration tool over WebSockets, so several people can work at once. It shows who is present, tracks what each person is doing and keeps the deck state in sync as it changes. Real-time updates alone still caused deadlocks, so I added slide locking: when someone is working on a slide, it is locked for everyone else. The lock is released when the person saves or moves on. If they close the tab or move to another tab, their work is saved automatically and the lock is released, so someone else can pick the slide up. A lock also expires on its own.
How it fits
Hover or focus a box for the story behind it.
Several people work on the same deck at once. Presence and activity are shared, and every change reaches everyone as it happens.
03
Alternatives considered
Real-time updates without locking was the first version, and it still deadlocked.
04
What I built
Implemented real-time collaboration functionality that enabled multiple users to work on the same AirDeck simultaneously.
Built WebSocket-based collaboration capabilities including:
- User presence indicators
- User activity tracking
- Slide locking
- Real-time collaboration state
Slide locking helped coordinate simultaneous editing by preventing conflicting interactions when multiple users were working within the same deck.
05
Trade-offs
Only one person can edit a given slide at a time, and others wait until it is saved or released.
06
Outcome
People can work on the same deck at the same time without overwriting each other.