Real-time Collaboration Architecture
Architecture for collaborative applications with live cursors, presence, and conflict-free concurrent editing across multiple users and devices.
Components
Considerations
Alternatives
Complexity
Fit
When this blueprint fits
And when to walk away from it
When to use this
Multiple users edit the same document, board, or canvas simultaneously and you need the experience to feel instant. Document editors, design tools, project management boards, and live whiteboards all sit here.
When NOT to use this
If editing conflicts are rare, last-write-wins with optimistic UI is dramatically simpler. Do not pay the CRDT cost for a CRUD app where two users editing the same record is a once-a-month event.
Architecture
System components
Key building blocks of this architecture, layered from infrastructure up.
WebSocket Gateway
CRDT Engine
Presence System
Sync Protocol
Persistence Layer
Access Control
Observability
Planning
Critical considerations
The things I have learned the hard way and would not skip on the next build.
Options
Alternative approaches
Where I would consider a different shape entirely, with the trade-offs spelled out.
Implementation
Related playbooks
Step-by-step guides for the harder parts of this architecture.
Designing Event-Driven Systems
Event-driven architectures unlock real autonomy between services, and they expose a whole new category of bugs if you do not respect their constraints. This playbook is the design discipline I use: model events as facts, version schemas carefully, choose the right broker, build idempotent consumers, handle ordering and failure, and add the observability that makes async systems debuggable in production.
Production Monitoring & Observability
Observability is not three pillars on a slide, it is the difference between knowing why your system is misbehaving and guessing. This playbook is the monitoring stack I deploy on every production system: error tracking, structured logging, performance metrics, distributed tracing, and the dashboards and alerts that turn raw data into actionable signal without paging everyone at 3 AM.
In practice
Related case studies
Where I have applied this blueprint to real builds and what changed in practice.
Thinking
Related insights
Essays where I argue the trade-offs behind the choices in this blueprint.
Real-Time Architecture Patterns
A practical guide to building real-time features-from simple presence indicators to complex multiplayer experiences.
Complexity Is the Enemy
A meditation on complexity, simplicity, and why the most impactful engineering often involves removing things rather than adding them.
Need help implementing this blueprint?
I help teams adapt blueprints like this to their specific requirements and ship from planning through production.
Real-time Systems
More in this category
Other blueprints with overlapping concerns.