Skip to content
back to achievements

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 edit the same deck at once over WebSockets, with presence and activity shared. A slide is locked for everyone else while one person works on it, and the lock is released when they save, leave or after it expires.Working togetherOne person per slideOne of several people working on the same deck at the same time.Person A Editing a deckEvery change goes through a WebSocket connection, so each person sees the others' work as it happens.Live channel WebSocketsAnother person working on the same deck.Person B Same deckThe channel keeps the deck state in sync, shows who is present and tracks what each person is doing.Shared deck Presence, activitySomeone starts working on a slide.Opens slide Person AWhile they work on it, the slide is locked for everyone else, so edits never collide.Slide locked For othersThey save or move on. Closing the tab or switching to another tab saves their work automatically.Leaves slide Auto-savedThe lock is released, and it also expires on its own if it is ever left behind.Lock released Or it expiresSomeone else can now pick the slide up.Next person Can edit

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.

Technologies