System Design Nuggets

System Design Nuggets

System Design Interview Question: Design Netflix in 45 Minutes

Build a Netflix clone on paper. Follow our 14-step system design guide to master API definition, data modeling, and fault tolerance for streaming services.

Arslan Ahmad's avatar
Arslan Ahmad
Jan 22, 2026
∙ Paid

1. Problem Definition and Scope

We are designing a global Video on Demand (VOD) streaming service. The goal is to allow millions of users to browse a large catalog of movies and TV shows and stream them instantly on various devices (TV, mobile, web) with high quality and minimal buffering.

Main User Groups:

  • Viewers: Users who discover content and watch videos.

  • Content Operations (Admins): Internal teams who upload raw video masters and manage metadata.

Scope:

  • In Scope:

    • Content Ingestion: Uploading, processing, and distributing video files.

    • Playback (Data Plane): Streaming video to the client with low latency.

    • Discovery (Control Plane): Browsing and searching the catalog.

    • User History: Tracking watch progress to resume playback.

  • Out of Scope: Billing, payments, user sign-up flows, and complex recommendation algorithms (we will assume a recommendation service provides a list of video IDs).

2. Clarify functional requirements

Must Have:

  • Video Ingestion: Admins can upload high-quality raw video files.

  • Transcoding: The system automatically converts raw video into multiple formats (codecs) and resolutions (4K, 1080p, mobile) to support different devices and network speeds.

  • Playback: Users can start playing a video with low latency (< 2 seconds).

  • Adaptive Bitrate Streaming: Video quality automatically adjusts in real-time based on the user’s bandwidth (e.g., switching from 4K to 720p).

  • Resume Capability: Users can pause on one device and resume from the same second on another.

  • Search: Users can find titles by text search.

Nice to Have:

  • Offline Viewing: Downloading content for later.

  • Multiple Profiles: Distinct history for different users under one account.

3. Clarify non-functional requirements

Scale:

  • Users: ~200 Million Daily Active Users (DAU).

  • Traffic Pattern: Extremely Read-Heavy. The ratio of viewing (reads) to uploading (writes) is massive (e.g., 100,000:1).

  • Global Reach: Must serve users worldwide with low latency.

Performance:

  • Latency: Fast browsing response (< 200ms). Fast time-to-first-frame for video (< 2s).

  • Availability: High availability (99.99%) for playback. If the “My List” feature breaks, users should still be able to play videos from the home screen.

Consistency:

  • Metadata: Eventual consistency is acceptable. If a new movie description takes a minute to propagate, it’s fine.

  • Watch History: Needs to be fast and fairly consistent so users can switch devices quickly, but eventual consistency (seconds lag) is acceptable.

Keep reading with a 7-day free trial

Subscribe to System Design Nuggets to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2026 Arslan Ahmad · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture