Skip to content

πŸ—ΊοΈ 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 basics
  • what-happens-when-you-type-google.md β€” end-to-end request journey
  • high-level-architecture.md β€” boxes, arrows, and components
  • scaling-1-to-1-billion.md β€” how systems grow
  • database-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 spots
  • cdn-optimization.md β€” edge caching, cache-control headers
  • dead-letter-queues.md β€” resilient async processing
  • grpc.md β€” binary protocol, protobuf, streaming
  • circuit-breakers.md β€” fault isolation in microservices
  • saga-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):

PrioritySystemKey Concept
⭐⭐⭐URL ShortenerHashing, redirection, analytics
⭐⭐⭐Twitter / XFan-out, timeline, feed ranking
⭐⭐⭐WhatsAppWebSocket, message ordering, E2E
⭐⭐⭐UberGeo-spatial, matching, real-time
⭐⭐⭐NetflixCDN, video encoding, recommendation
⭐⭐Notification System1B/day, fan-out, multi-channel
⭐⭐InstagramPhoto storage, CDN, social graph
⭐⭐YouTubeUpload pipeline, HLS streaming
⭐Google SearchCrawling, indexing, ranking
⭐TikTokRecommendation 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.

FileWhat You Learn
networking.mdTCP/IP, UDP, HTTP/HTTPS, TLS handshake
dns-lookup.mdFull DNS resolution from browser to root
load-balancing-algorithms.mdRound Robin, Consistent Hashing, Least Connections
protocols-communication.mdREST, WebSockets, gRPC, MQTT β€” when to use each
high-level-architecture.mdComponents: LB, DB, Cache, CDN, Queue
design-patterns.mdProxy, Reverse Proxy, Sidecar, Ambassador
what-happens-when-you-type-google.mdFull end-to-end request journey
fault-tolerance-crashes.mdGraceful degradation, failover
clustering-fundamentals.mdActive-passive vs active-active
native-mobile-stacks.mdiOS, Android architecture patterns

Level 2 β€” Scalability ​

FileWhat You Learn
scaling-1-to-1-billion.md8 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 ​

FileWhat You Learn
database-management.mdSQL vs NoSQL, when to use each
database-sharding.mdRange, hash, directory-based sharding
vector-databases.mdStoring & searching meaning with Pinecone/Weaviate
vector-embeddings.mdHow text β†’ vectors, cosine similarity, chunking
ann-hnsw-index.mdHow HNSW finds nearest neighbors in milliseconds
similarity-metrics.mdEuclidean vs Cosine vs Dot Product
faiss-vector-database.mdMeta's billion-scale vector search library
rag-pattern.mdRetrieval-Augmented Generation end-to-end
llm-ai-agents.mdTransformer internals, AI Agent loops, tool use, multi-agent systems

Level 4 β€” Caching ​

FileWhat You Learn
cdn-optimization.mdCDN topology, cache-control, purging strategies

Key concepts: Cache-aside, write-through, write-behind, TTL, Redis data structures, eviction (LRU/LFU).


Level 5 β€” Messaging & Queues ​

FileWhat You Learn
README.mdKafka, RabbitMQ, SQS β€” when to pick which
dead-letter-queues.mdDLQ patterns, retry strategies, poison pill handling

Key concepts: Pub/Sub, consumer groups, at-least-once vs exactly-once delivery, backpressure.


Level 6 β€” Microservices ​

FileWhat You Learn
grpc.mdProtobuf, streaming RPCs, load balancing
role-menu-permission.mdEnterprise 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 ​

FileWhat You Learn
01-url-shortener.mdFull interview walkthrough β€” 8 steps
02-chat-application.mdReal-time messaging design interview
03-netflix-video-streaming.mdVideo platform interview strategy
how-to-manage-case-studies.mdHow to structure your own case studies

Level 9 β€” Design Patterns ​

FileWhat You Learn
circuit-breakers.mdFault isolation β€” Open/Half-open/Closed states
saga-pattern.mdDistributed transactions without 2PC
event-sourcing.mdAppend-only event log as source of truth
idempotency-keys.mdSafe retries in payment and messaging systems
exponential-backoff.mdSmart retry logic with jitter
system-design-connection.mdConnecting patterns to real-world decisions

Level 10 β€” Monitoring & Observability ​

FileWhat You Learn
latency-percentiles.mdP50 / P95 / P99 β€” why averages lie
error-rate-alerts.mdSetting meaningful alert thresholds
realtime-dashboards.mdGrafana-style dashboard design
transaction-success-rate.mdSLI/SLO for payment critical paths

Level 11 β€” Academic Research ​

FileWhat You Learn
README.mdHow 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.

GuideTopic
requirements-clarification.mdHow to ask the right questions
back-of-envelope-estimation.mdDAU β†’ RPS β†’ Storage math
high-level-design.mdDrawing the right boxes
deep-dive-detailed-design.mdSchema, APIs, data models
database-scaling.mdRead replicas, sharding, CQRS
caching.mdCache layers, strategies, Redis
load-balancing.mdAlgorithms, health checks, sticky sessions
message-queues.mdKafka vs SQS vs RabbitMQ
microservices.mdDecomposition, contracts, versioning
consistency-patterns.mdStrong vs eventual vs causal
rate-limiting.mdToken bucket, leaky bucket, sliding window
network-protocols.mdHTTP/2, gRPC, WebSocket, SSE
security.mdAuthN/AuthZ, OAuth 2.0, JWT, TLS
monitoring-observability.mdMetrics, logs, traces β€” the 3 pillars
storage-systems.mdObject, block, file β€” S3, EBS, NFS
databases.mdFull DB selection guide
trade-offs.mdThe core system design mindset
wrap-up.mdHow to end an interview strongly
insiders-guide.mdWhat 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 ​

bash
# 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 ​

ActionHow
Search any topicPress Ctrl + K (or Cmd + K on Mac)
Jump to a sectionUse the right-side On This Page outline
Browse all modulesUse the left Sidebar β€” all levels listed
See the full roadmapVisit roadmap.md
Browse on GitHubgithub.com/SOURAV-ROY/sdm
Live hosted sitesouravsdm.vercel.app

🧠 Study Tips That Actually Work ​

βœ… Do This❌ Avoid This
Draw diagrams from memory after readingHighlighting without thinking
Design each system 3+ times improving each passReading once and moving on
Use the Feynman Technique β€” explain it out loudMemorizing definitions
Keep a 1-page design journal per systemSkipping estimations
Time-box: 5min clarify β†’ 10min HLD β†’ 15min deep diveStarting with solutions before requirements
Record yourself for 45min mock sessionsDesigning in isolation without failure cases

Released under the ISC License.