System design interview questionHardDistributed Architecture
Design a Live Streaming Platform
Design a live streaming platform: creators publish a live video stream; many viewers watch with low latency; optional chat is a plus.
Interview scope
Control: Client → Gateway/LB → App → DB + Queue (packaging). Delivery: Client → CDN (+ Object Storage origin). No Client → DB for video bytes.
Functional requirements
- Ingest stream from creator (upload/publish path).
- Distribute video to many viewers (watch path) efficiently.
- Optional: realtime chat alongside the stream.
Scale and quality goals
- Viewer path must scale massively — one-to-many, not one TCP per viewer to origin forever.
- Prefer CDN/edge delivery for video segments.
- Control plane (auth, stream metadata) separate from heavy media bytes when possible.
Capacity assumption
Design for this scale
Big event: ~1M concurrent viewers, ~2 Mbps average bitrate toward each viewer (order-of-magnitude).
Practice more than a diagram
Place components on the Froquiz canvas, connect the data flow, and see which decisions the scenario-specific review finds missing. The full exercise and review unlock with Premium.
Explore Premium →