System Design Course

Design systems that actually scale

An interview-focused path through the concepts every senior-track interview loop tests — scalability, databases at scale, caching, distributed systems, microservices, security and low-level design — through five full worked case studies and ending in a mock design-interview capstone you can rehearse out loud.

28 Weeks Beginner → Interview-Ready Self-Paced HLD & LLD
28
Weeks of study
24
Core modules
5
Full case studies
0→1
No prior system design needed
Before You Start

Prerequisites & tooling

What you should already know

  • Comfortable programming in at least one language
  • Basic familiarity with databases and APIs — this course builds the "why," not the syntax
  • No prior system design or distributed systems background required
  • Pairs naturally with DSA in C++ for a complete interview-prep track

Concepts you'll work with

The same vocabulary and tradeoffs tested in mid-to-senior system design interview rounds.

Load Balancing SQL & NoSQL Caching Message Queues CAP Theorem Consistent Hashing Rate Limiting Microservices Observability Consensus & Coordination OOP & Design Patterns
Syllabus

Your 28-week learning path

Twenty-four modules, from your first back-of-envelope estimate through five full case studies to a mock design interview.

01
WEEK 1

System Design Fundamentals & Requirements Gathering

The estimation and scoping skills every design question starts with.

  • Functional vs. non-functional requirements & scope framing
  • Back-of-envelope estimation: throughput, storage & bandwidth math
  • Reading and drawing a basic system architecture diagram
Start this lesson
02
WEEK 2

Networking & APIs for System Design

The request path every architecture diagram assumes you understand.

  • IP, DNS, load balancers & the request/response path
  • REST vs. gRPC vs. GraphQL — when each earns its complexity
  • CDNs & edge caching for static and dynamic content
Start this lesson
03
WEEK 3

Scalability Fundamentals

Grow a system past what one machine can handle.

  • Vertical vs. horizontal scaling & stateless service design
  • Load balancing algorithms: round robin, least connections & consistent hashing
  • Failure modes: thundering herd & hot partitions
Start this lesson
04
WEEKS 4–5

Databases at Scale

Choose and shape a data layer that survives real load.

  • SQL vs. NoSQL: choosing the right data model
  • Indexing strategies & read/write tradeoffs
  • Replication, sharding & partitioning strategies
Start this lesson
05
WEEKS 6–7

Caching & Content Delivery

Make the common case fast without lying to the user.

  • Cache-aside, write-through & write-behind strategies
  • Redis/Memcached patterns & eviction policies
  • Cache invalidation in practice — the "two hard problems" made concrete
Start this lesson
06
WEEK 8

Message Queues & Asynchronous Processing

Decouple producers from consumers instead of chaining synchronous calls.

  • Pub-sub vs. point-to-point messaging (Kafka vs. RabbitMQ/SQS)
  • Decoupling producers & consumers with a queue
  • At-least-once vs. exactly-once delivery & idempotency
Start this lesson
07
WEEKS 9–10

Distributed Systems & Consistency

The tradeoffs behind every "it depends" answer in a design interview.

  • The CAP theorem & what it actually constrains
  • Consistency models: strong, eventual & causal consistency
  • Leader election & consensus (Raft/Paxos) at a conceptual level
Start this lesson
08
WEEK 11

Rate Limiting & API Gateway Patterns

Protect a system from its own clients.

  • Token bucket, leaky bucket & sliding window algorithms
  • API gateway responsibilities: auth, routing & throttling
  • Designing a distributed rate limiter
Start this lesson
09
WEEK 12

Low-Level Design: OOP & Design Patterns

The class-design half of a system design loop.

  • SOLID principles applied to interview-style LLD questions
  • Strategy, Observer, Factory & Singleton in real designs
  • Designing a class model for a parking lot / elevator system
Start this lesson
10
WEEK 13

Case Study I: Design a URL Shortener & Rate Limiter

Your first full design, start to finish, at interview scope.

  • Requirements, estimation & API design for a URL shortener
  • Choosing a data store & encoding strategy
  • Layering in the rate limiter from Week 11
Start this lesson
11
WEEK 14

Case Study II: Design a Large-Scale System

Combine every module into one senior-level design.

  • Designing a news feed / social platform at scale
  • Fan-out on write vs. fan-out on read
  • Combining caching, queues & sharding into one coherent design
Start this lesson
12
WEEK 15

Microservices Architecture & Service Decomposition

When to split a monolith, and how to draw the boundaries so it doesn't backfire.

  • When to split a monolith, with concrete criteria
  • Decomposing by bounded context, not by technical layer
  • Sagas for cross-service consistency
Start this lesson
13
WEEK 16

Service Mesh, API Gateways & Inter-Service Communication

Wire decomposed services back together without building a distributed monolith.

  • API gateway vs. service mesh, and the sidecar pattern
  • Service discovery across scaling instances
  • Circuit breakers & retries to stop cascading failure
Start this lesson
14
WEEK 17

Observability — Logging, Metrics & Distributed Tracing

Make a distributed system's behavior legible from the outside.

  • The three pillars: logs, metrics & traces
  • Structured logging & the RED/USE metrics frameworks
  • Distributed tracing across service boundaries
Start this lesson
15
WEEK 18

Security in System Design

AuthN vs. AuthZ, encryption, secrets, and designing for active abuse.

  • Authentication vs. authorization at scale
  • Encryption in transit & at rest, and secrets management
  • Designing a layered defense against DDoS
Start this lesson
16
WEEK 19

Search Systems & Full-Text Search

The inverted index, relevance ranking, and low-latency autocomplete.

  • Why a normal database index can't power full-text search
  • The inverted index & TF-IDF/BM25 relevance ranking
  • Autocomplete/typeahead with a precomputed trie
Start this lesson
17
WEEK 20

Real-Time Systems — WebSockets, Presence & Pub/Sub at Scale

Push updates to clients live, and scale stateful connections across many servers.

  • WebSockets vs. long polling vs. Server-Sent Events
  • Online/offline presence with a tuned heartbeat
  • Pub/sub fan-out across stateful connection servers
Start this lesson
18
WEEK 21

Distributed File & Object Storage

Chunking, storage tiers and durability at the scale of billions of files.

  • Object vs. block vs. file storage
  • Chunking large files & resumable uploads
  • Replication vs. erasure coding for durability
Start this lesson
19
WEEK 22

Geo-Distributed Systems & Multi-Region Architecture

Serve users worldwide and survive a full regional outage.

  • Active-active vs. active-passive architecture
  • Cross-region replication lag & conflict resolution
  • Designing a regional failover plan
Start this lesson
20
WEEK 23

Consensus & Coordination Services

Leader election, distributed locks and split-brain, made concrete.

  • How leader election actually works, mechanically
  • Distributed locks & the fencing-token fix
  • The split-brain problem & coordination services in practice
Start this lesson
21
WEEK 24

Case Study III: Design a Ride-Sharing Dispatch System

Geospatial indexing, a live location stream, and matching without double-booking.

  • Estimating a system dominated by location pings, not user actions
  • Geohashing for efficient nearby-driver search
  • Matching with a distributed lock, safely
Start this lesson
22
WEEK 25

Case Study IV: Design a Video Streaming Platform

The upload-to-playback pipeline and a storage strategy for a long-tail view distribution.

  • The asynchronous transcoding pipeline
  • Adaptive bitrate streaming, explained
  • Storage & CDN tiering by access pattern
Start this lesson
23
WEEK 26

Case Study V: Design a Distributed Chat System

Delivery guarantees, group fan-out, and message history at scale.

  • Exactly-once, in-order delivery with sequence numbers
  • Group chat fan-out that scales past 500 members
  • Message storage & fast, paginated history
Start this lesson
24
WEEKS 27–28 · CAPSTONE

Capstone: Full System Design Interview Simulation

Put every module to work as one real, rehearsable interview performance.

  • A complete written design doc for one large system, end to end
  • Diagrams, capacity estimates & explicit tradeoff analysis
  • A mock interview script you can rehearse out loud
Start the capstone

Ready to start designing systems?

Start with Week 1 and work through a real interview-prep path — or pair it with DSA in C++ for a complete coding-plus-design interview track.