Skip to content

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

🏗️ System Design — From Beginner to Advanced

Learn how the biggest systems in the world are actually built. Clear explanations, real diagrams, and full case studies — for the @codewithmuh YouTube series.

GitHub Release Stars Forks License: MIT YouTube
Scalability Diagrams Level

flowchart TD
    Client["Clients (Mobile / Web / Desktop)"] --> DNS["DNS & Anycast Geo-Routing"]
    DNS --> CDN["Edge CDN (Static Assets & Video Chunks)"]
    DNS --> LB["API Gateway & Load Balancer (Rate Limit + TLS)"]
    
    subgraph Services["Core Microservices Cluster"]
        LB --> Auth["Auth Service"]
        LB --> Core["Core Application API"]
        LB --> Search["Search & Recommendation Engine"]
    end
    
    subgraph DataTier["Data & Cache Tier"]
        Core --> Cache[("Distributed Cache (Redis / Memcached)")]
        Core --> SQL[("Primary SQL DB (Postgres / MySQL)")]
        SQL -.-> Replica[("Read Replicas")]
        Core --> Queue[("Message Broker (Kafka / RabbitMQ)")]
        Queue --> Workers["Async Background Workers"]
    end
Loading

📺 What is this?

This repo is the companion to a YouTube series where we learn system design from scratch and then design real products step by step. Every topic is written as a detailed article with diagrams (not just walls of text), and each one maps to a video.

The goal: a complete beginner should be able to follow along, understand why each decision is made, and walk away able to reason about large-scale systems.

🚧 This repo is actively being built. Star ⭐ it and subscribe to follow along.

🧭 How to use this repo

  1. Start with the Fundamentals — the vocabulary and building blocks (load balancing, caching, databases, sharding, CAP, queues, …).
  2. Then pick a case study below and design a real system end-to-end.
  3. Each article follows the same repeatable framework, so the approach becomes second nature.

📚 Learning path

Part 1 — Foundations

Part 2 — Case studies (design a real system)

# System What you'll learn Status
1 Cloud Platform (AWS / Google Cloud) Control plane vs data plane, virtualization, multi-tenancy, IAM 🚧
2 ChatGPT & Claude (AI Assistant) LLM inference serving, batching, KV cache, token streaming 🚧
3 Instagram News feed, media storage, fan-out ⬜
4 WhatsApp Real-time messaging, presence, delivery receipts ⬜
5 Facebook Social graph, feed ranking, notifications ⬜
6 TikTok Recommendation feed, video delivery at scale ⬜
7 YouTube Video upload/transcode, streaming, CDN ⬜
8 Twitter / X Timeline, fan-out on write vs read ⬜
9 Uber Geospatial matching, real-time location ⬜
10 Netflix Adaptive streaming, CDN, recommendations ⬜

✅ Published · 🚧 In progress · ⬜ Planned

🖊️ How the diagrams work

We use a layered approach so diagrams are both version-controlled and beautiful on video:

  • Mermaid — rendered natively inside GitHub for inline flowcharts & sequence diagrams (no image hosting needed).
  • Excalidraw — for the polished, hand-drawn architecture diagrams (source .excalidraw files live in assets/excalidraw/, exported PNG/SVG in assets/images/).

See TOOLS.md for the full recommended toolchain — including how to add cloud/logo icons in Excalidraw and the article → YouTube video workflow.

📐 Writing a new article

Copy templates/ARTICLE_TEMPLATE.md into a new case-study folder and fill it in. Every system-design problem uses the same framework:

Requirements → Capacity estimation → API design → Data model → High-level design → Deep dives → Bottlenecks & trade-offs

🤝 Contributing

See CONTRIBUTING.md. Issues, corrections, and diagram improvements are welcome.


Made with ❤️ for learners · YouTube @codewithmuh

Releases

Packages

Contributors

Languages