💬WhatsApp / Chat System
0 nodes · 0 edgesHint 1 — locked
Hint 2 — locked
Hint 3 — locked
💬
WhatsApp / Chat System
● Advanced45–60 min
Problem
Build a real-time messaging platform like WhatsApp. Users send 1:1 and group messages with delivery receipts (sent, delivered, read). Messages must be delivered even when the recipient is offline (store-and-forward). The system handles 2B users with 100B messages per day.
Functional Requirements
- Send and receive text, images, and documents
- Group chats with up to 1000 members
- Delivery receipts: sent (✓), delivered (✓✓), read (blue ✓✓)
- Store messages for offline users until they come online
- End-to-end encryption (sender encrypts; server stores ciphertext only)
Non-Functional
- 2B users, 100B messages/day (~1.2M msg/s)
- Message delivery latency < 500 ms when recipient is online
- 99.99% message delivery — no message loss
- Messages stored for 30 days for offline users
Prerequisites
WebSocketsMessage queuesConsistent hashingEnd-to-end encryption
💬
Design your WhatsApp / Chat System
Drag components from the Brief panel → switch to Components tab
Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.
UML
15
Needs Work
Click a dimension to see what's missing. Score updates as you design.
Speed
RPS
Hit Play to start simulation00:00