System Design
Design a large-scale video streaming platform similar to Netflix/YouTube.
Core user stories
-
Upload (creator) / ingest (studio) videos.
-
Browse/search a catalog.
-
Start playback quickly and stream smoothly (adaptive bitrate).
-
Resume playback across devices.
-
(Optional) Recommendations and personalized home feed.
Requirements
Functional
-
Video upload/ingestion and processing (transcode, thumbnails, captions).
-
Video metadata (title, description, tags, privacy/availability).
-
Playback via multiple bitrates and device formats.
-
Basic analytics (views, watch time).
Non-functional
-
Low startup latency, minimal buffering.
-
Highly available playback.
-
Global delivery.
-
Secure content access (signed URLs/DRM optional).
Scale assumptions (you may choose reasonable numbers)
-
Millions of daily active users.
-
Large video library (PB-scale storage).
-
Global traffic spikes.
Explain your architecture, APIs, data storage choices, caching/CDN strategy, and how you handle scaling and reliability.