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