Back to Case Studies

Design Youtube

Overview–

YouTube is a video-sharing platform that allows users to upload, view, and interact with video content. As of this video, it is the second most visited website in the world.


Functional Requirements–

  1. Users should be able to upload videos.

  2. Users should be able to watch/stream videos.


Scale 

~1M uploads/day

100M DAU

Max video size of 256GB


Non-Functional Requirements–

  • Availability >> Consistency for video uploads

  • Support uploading/streaming for large videos (256GB)

  • Low latency streaming (<500 ms) is true in low bandwidth

  • Scalability to scale to 1M uploads per day and 100M views


Core Entities—

  • User

  • Video

  • Video Metadata


API

//upload a video

POST /videos

{

videoMetadata

}

//watch a video

GET /videos/:videoId → video & videoMetadata


High-Level Design–



© 2026 Mehraj Hosen. All rights reserved.