System Design Interview Roadmap

System Design Interview Roadmap

System Design Walkthrough

Design a Real-time Collaborative Editor (Google Docs) — Walkthrough

Archetype: Real-time Messaging · Asked at: Google, Notion, Figma

Nov 03, 2026
∙ Paid

The probe

This is the hardest question in the question bank. The problem: two users type simultaneously into the same document. Both changes must be preserved, in a consistent order, on both clients, in real time. This requires Operational Transformation (OT) or CRDTs — the most complex distributed consistency problem in a product context.

Step 1 — Clarify

- How many simultaneous editors? (Google Docs: up to ~100 simultaneous, typical: 2–10) - Conflict resolution: last-writer-wins (loses data), OT (complex, correct), CRDT (simpler, eventually consistent)

- Rich text (bold, links, images) or plain text? Rich text requires operation types beyond insert/delete

- Real-time (< 200ms) or near-real-time (< 1s)?

52 FAANG Question Vault — $299 one-time (or $249 for paid subscribers)

All 52 walkthroughs + 52 drill cards + 6 framework cheatsheets + the Senior+ System Design Playbook. Everything, immediately. Lifetime access with all future updates included. → [VAULT CHECKOUT LINK]

Get Access to Github Repo

The Core Problem — Why naive approaches fail

Naive approach 1: Each keystroke triggers a POST to the server; server updates the document; all clients re-fetch.

Fails because: At 100 keystrokes/sec × 10 users = 1000 req/sec just for one document. And the user sees their own edits delayed by a round-trip.

Naive approach 2: Last-writer-wins — each client sends the full document state periodically.

Fails because: If A types “Hello” and B types “World” simultaneously, one overwrites the other.

User's avatar

Continue reading this post for free, courtesy of System Design Roadmap.

Or purchase a paid subscription.
© 2026 SystemDR Inc · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture