πΊοΈ System Design Mastery β Complete Guide Life Flow β
A visual map of the entire curriculum β understand what to learn, in what order, and why. Whether you're a beginner, a backend engineer, an interview candidate, or a researcher, this page is your starting point.
π Big Picture β What Is This Repository? β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SYSTEM DESIGN MASTERY (SDM) β
β β
β A free, open-source documentation platform that teaches you how to β
β design the systems powering Google, Netflix, Uber, WhatsApp & more. β
β β
β π 12 Levels Β· 88+ Markdown Files Β· 18,000+ Lines of Content β
β ποΈ 14 Real-World Systems Β· 100+ Mermaid Diagrams Β· Live on Vercel β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββπ Full Curriculum Overview (All 12 Levels) β
π― Choose Your Learning Path β
π’ Path A β The Beginner (0β2 years experience) β
Goal: Understand how the internet and large-scale systems actually work.
Time: 4β6 weeks Β· 2β3 hours/week
Key topics to focus on:
networking.mdβ TCP/IP, HTTP/HTTPS, DNS basicswhat-happens-when-you-type-google.mdβ end-to-end request journeyhigh-level-architecture.mdβ boxes, arrows, and componentsscaling-1-to-1-billion.mdβ how systems growdatabase-management.mdβ when to use SQL vs NoSQL
π‘ Path B β The Intermediate Engineer (2β5 years) β
Goal: Master distributed systems, event-driven design, and backend complexity.
Time: 3β4 weeks Β· 4β5 hours/week
Key topics to focus on:
database-sharding.mdβ shard strategies, hot spotscdn-optimization.mdβ edge caching, cache-control headersdead-letter-queues.mdβ resilient async processinggrpc.mdβ binary protocol, protobuf, streamingcircuit-breakers.mdβ fault isolation in microservicessaga-pattern.mdβ distributed transactions
π΄ Path C β The Interview Candidate (2β3 weeks sprint) β
Goal: Ace the FAANG system design interview.
Time: 2β3 weeks Β· 5β6 hours/week
Must-practice systems (Level 7):
| Priority | System | Key Concept |
|---|---|---|
| βββ | URL Shortener | Hashing, redirection, analytics |
| βββ | Twitter / X | Fan-out, timeline, feed ranking |
| βββ | WebSocket, message ordering, E2E | |
| βββ | Uber | Geo-spatial, matching, real-time |
| βββ | Netflix | CDN, video encoding, recommendation |
| ββ | Notification System | 1B/day, fan-out, multi-channel |
| ββ | Photo storage, CDN, social graph | |
| ββ | YouTube | Upload pipeline, HLS streaming |
| β | Google Search | Crawling, indexing, ranking |
| β | TikTok | Recommendation engine, ML pipeline |
π£ Path D β The Tech Lead / Architect β
Goal: Design production-grade, observable, and resilient systems.
Time: Ongoing Β· 2β3 hours/week
π€ Path E β The AI / ML Engineer β
Goal: Architect AI-powered systems with LLMs, RAG, and multi-agent pipelines.
Time: 2β3 weeks Β· 3β4 hours/week
π¦ What's Inside Each Level β
Level 1 β Foundations β
The bedrock. Never skip this.
| File | What You Learn |
|---|---|
networking.md | TCP/IP, UDP, HTTP/HTTPS, TLS handshake |
dns-lookup.md | Full DNS resolution from browser to root |
load-balancing-algorithms.md | Round Robin, Consistent Hashing, Least Connections |
protocols-communication.md | REST, WebSockets, gRPC, MQTT β when to use each |
high-level-architecture.md | Components: LB, DB, Cache, CDN, Queue |
design-patterns.md | Proxy, Reverse Proxy, Sidecar, Ambassador |
what-happens-when-you-type-google.md | Full end-to-end request journey |
fault-tolerance-crashes.md | Graceful degradation, failover |
clustering-fundamentals.md | Active-passive vs active-active |
native-mobile-stacks.md | iOS, Android architecture patterns |
Level 2 β Scalability β
| File | What You Learn |
|---|---|
scaling-1-to-1-billion.md | 8 growth stages with trade-offs at each tier |
Key concepts: Horizontal scaling, vertical scaling, CAP Theorem, consistency models, stateless services.
Level 3 β Databases & AI Data Systems β
| File | What You Learn |
|---|---|
database-management.md | SQL vs NoSQL, when to use each |
database-sharding.md | Range, hash, directory-based sharding |
vector-databases.md | Storing & searching meaning with Pinecone/Weaviate |
vector-embeddings.md | How text β vectors, cosine similarity, chunking |
ann-hnsw-index.md | How HNSW finds nearest neighbors in milliseconds |
similarity-metrics.md | Euclidean vs Cosine vs Dot Product |
faiss-vector-database.md | Meta's billion-scale vector search library |
rag-pattern.md | Retrieval-Augmented Generation end-to-end |
llm-ai-agents.md | Transformer internals, AI Agent loops, tool use, multi-agent systems |
Level 4 β Caching β
| File | What You Learn |
|---|---|
cdn-optimization.md | CDN topology, cache-control, purging strategies |
Key concepts: Cache-aside, write-through, write-behind, TTL, Redis data structures, eviction (LRU/LFU).
Level 5 β Messaging & Queues β
| File | What You Learn |
|---|---|
README.md | Kafka, RabbitMQ, SQS β when to pick which |
dead-letter-queues.md | DLQ patterns, retry strategies, poison pill handling |
Key concepts: Pub/Sub, consumer groups, at-least-once vs exactly-once delivery, backpressure.
Level 6 β Microservices β
| File | What You Learn |
|---|---|
grpc.md | Protobuf, streaming RPCs, load balancing |
role-menu-permission.md | Enterprise RBAC/ABAC access control design |
Key concepts: API Gateway, service mesh, sidecar proxy, service discovery, bulkhead pattern.
Level 7 β Real-World Systems (14 deep dives) β
Level 8 β Case Studies & Interview Prep β
| File | What You Learn |
|---|---|
01-url-shortener.md | Full interview walkthrough β 8 steps |
02-chat-application.md | Real-time messaging design interview |
03-netflix-video-streaming.md | Video platform interview strategy |
how-to-manage-case-studies.md | How to structure your own case studies |
Level 9 β Design Patterns β
| File | What You Learn |
|---|---|
circuit-breakers.md | Fault isolation β Open/Half-open/Closed states |
saga-pattern.md | Distributed transactions without 2PC |
event-sourcing.md | Append-only event log as source of truth |
idempotency-keys.md | Safe retries in payment and messaging systems |
exponential-backoff.md | Smart retry logic with jitter |
system-design-connection.md | Connecting patterns to real-world decisions |
Level 10 β Monitoring & Observability β
| File | What You Learn |
|---|---|
latency-percentiles.md | P50 / P95 / P99 β why averages lie |
error-rate-alerts.md | Setting meaningful alert thresholds |
realtime-dashboards.md | Grafana-style dashboard design |
transaction-success-rate.md | SLI/SLO for payment critical paths |
Level 11 β Academic Research β
| File | What You Learn |
|---|---|
README.md | How to find a research niche, read papers, publish |
Seminal Papers: Google Bigtable, Dynamo, MapReduce, Spanner, Raft, Kafka β the papers that built the internet.
Level 12 β Interview Prep (20 deep-dive topic guides) β
Located in
12-interview-prep/β the most comprehensive section for FAANG prep.
| Guide | Topic |
|---|---|
requirements-clarification.md | How to ask the right questions |
back-of-envelope-estimation.md | DAU β RPS β Storage math |
high-level-design.md | Drawing the right boxes |
deep-dive-detailed-design.md | Schema, APIs, data models |
database-scaling.md | Read replicas, sharding, CQRS |
caching.md | Cache layers, strategies, Redis |
load-balancing.md | Algorithms, health checks, sticky sessions |
message-queues.md | Kafka vs SQS vs RabbitMQ |
microservices.md | Decomposition, contracts, versioning |
consistency-patterns.md | Strong vs eventual vs causal |
rate-limiting.md | Token bucket, leaky bucket, sliding window |
network-protocols.md | HTTP/2, gRPC, WebSocket, SSE |
security.md | AuthN/AuthZ, OAuth 2.0, JWT, TLS |
monitoring-observability.md | Metrics, logs, traces β the 3 pillars |
storage-systems.md | Object, block, file β S3, EBS, NFS |
databases.md | Full DB selection guide |
trade-offs.md | The core system design mindset |
wrap-up.md | How to end an interview strongly |
insiders-guide.md | What interviewers actually look for |
π The System Design Thinking Loop β
Every good system design follows this loop. Internalize it:
π οΈ Local Setup β Get Running in 3 Minutes β
# 1. Clone the repository
git clone https://github.com/SOURAV-ROY/sdm.git
cd sdm
# 2. Install dependencies
npm install
# 3. Start the development server
npm run dev
# β Open http://localhost:5173
# 4. Build for production
npm run build
# 5. Format all files
npm run formatβ¨οΈ Navigation Tips β
| Action | How |
|---|---|
| Search any topic | Press Ctrl + K (or Cmd + K on Mac) |
| Jump to a section | Use the right-side On This Page outline |
| Browse all modules | Use the left Sidebar β all levels listed |
| See the full roadmap | Visit roadmap.md |
| Browse on GitHub | github.com/SOURAV-ROY/sdm |
| Live hosted site | souravsdm.vercel.app |
π§ Study Tips That Actually Work β
| β Do This | β Avoid This |
|---|---|
| Draw diagrams from memory after reading | Highlighting without thinking |
| Design each system 3+ times improving each pass | Reading once and moving on |
| Use the Feynman Technique β explain it out loud | Memorizing definitions |
| Keep a 1-page design journal per system | Skipping estimations |
| Time-box: 5min clarify β 10min HLD β 15min deep dive | Starting with solutions before requirements |
| Record yourself for 45min mock sessions | Designing in isolation without failure cases |
You now have the full map. Pick your path and start.
π Level 1 β Foundations Β· π― Level 12 β Interview Prep Β· π€ LLMs & AI Agents
π Live Site Β· β Star on GitHub
Made with β€οΈ by Sourav Roy
