💬Real-Time Chat App
0 nodes · 0 edgesHint 1 — locked
Hint 2 — locked
Hint 3 — locked
💬
Real-Time Chat App
● Intermediate25–40 min
Problem
Build a real-time chat application where users can send and receive messages instantly in 1-on-1 or group chats. Messages must be delivered to all online participants in under 100 ms and persisted so they can be retrieved after reconnection. The system must scale to millions of concurrent users.
Functional Requirements
- Send and receive messages in real time via WebSocket connections
- Support 1-on-1 and group chats (up to 1,000 members)
- Store message history for offline retrieval
- Show online/offline presence status
- Support media attachments (images, files)
Non-Functional
- 10M concurrent online users
- Message delivery latency < 100 ms for online users
- Messages durably stored — never lost even if a server crashes
- Horizontally scalable — no single point of failure
💬
Design your Real-Time Chat App
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