system-design
System Design Foundations
The building blocks of large systems and the interview framework — scaling, availability, data distribution, caching, async, and reasoning about tradeoffs under load.
Start track →Start here
What system design is, and the frame you carry into every design problem.Scalability & performance
Latency, throughput, and the back-of-envelope numbers that govern every scaling decision.Availability & reliability
Redundancy, failover, and the SLO math that decides how many nines you can promise.Traffic & edge
How requests are spread across servers and served close to users: load balancers, proxies, gateways, CDNs.Data distribution
Replication, sharding, consistent hashing, and the CAP/PACELC tradeoffs that follow from splitting data.Caching at scale
Where to cache, what to evict, and why invalidation is the hard part.Async & messaging
Decoupling with queues and pub/sub, event-driven flow, and surviving backpressure.Storage choices
Picking the right store: relational, NoSQL, blob/object, time-series, search.Building blocks
Reusable mechanisms that show up in every design: rate limiter, unique IDs, bloom filters, geohashing, leader election.The interview framework
A repeatable procedure: requirements, estimation, high-level design, deep-dive, bottlenecks, tradeoffs.Build with this track
Guided projects that exercise what you learn here.
Feature-flag service
Build a small flag service with targeting rules, percentage rollouts, and a typed SDK that evaluates flags client-side from a cached ruleset.
Presigned upload flow
Direct-to-storage uploads via presigned URLs with size/content-type limits and a completion webhook that verifies the object actually arrived — so your API server never touches file bytes.
System Design Dossier
Pick one large system — a URL shortener that has to serve billions of redirects — and write the design document a staff engineer would defend in a review. No running code: the deliverable is rigorous prose, numbers, and diagrams. You move from a vague 'make short links' ask to scoped requirements, a back-of-envelope capacity model, a concrete data model and API, the one bottleneck that actually breaks under load, and an honest map of what you traded away to fix it.
URL shortener at scale
Build a URL shortener that survives real traffic — then run it: deploy it, watch it, and work the incident when one hot link melts your cache.
System Design Case Studies
End-to-end designs of real systems — URL shortener, chat, news feed, YouTube, payments — requirements, estimation, high-level design, and the hard deep-dives.