Design and implement a large-scale messaging system inspired by WhatsApp, focusing primarily on backend architecture and distributed-system concepts.
🚧 Development phase — implementation is in progress.
See implementation/README.md for implementation details, local setup, and current limitations.
The system design documents and implementation plans are in docs/:
- Requirements
- Scope and assumptions
- Scale estimation
- API design
- Data model
- High-level design
- Detailed design
- Reliability
- Security
- Observability
- Future revision notes
- Topics to learn
- Cache plans and cache TTLs
- Design decisions
- 1-to-1 messaging
- Group messaging
- Message delivery
- Delivery/read receipts
- Online/offline presence
- Multi-device support
- Media messages
- Push notifications
- Voice/video calling
- Payments
- Stories
- Status updates
- End-to-end encryption implementation (initial design phase)
- Requirements
- Scale estimation
- User flows
- API design
- Data model
- High-level architecture
- Detailed design
- Reliability
- Security
- Observability
- Capacity planning
- Implementation
- Load testing