11 parts · 22 chapters

Backend System Design

The backend mirror of Frontend System Design. Every design is run in rounds: the brief, the questions you ask, the numbers, a first version, what breaks it, and the next version, ending in one sentence: "vN buys this and pays that". The designs are the ones interviews and real roadmaps actually ask for.

Eleven parts: the method, then ten designs: a URL shortener, a distributed rate limiter, a payments ledger, chat with presence, a news feed, notifications at scale, file storage and uploads, search and typeahead, a distributed job scheduler, and a multi-country transfer platform that pulls everything together.

the method · URL shortener · rate limiter · payments ledger · chat and presence · news feed · notifications · file storage · search and typeahead · job scheduler · multi-country transferssenior → staff · backend engineers preparing for design rounds or writing real designs
the methodRequirements, numbers, API, data model, v1, the break, v2, the sentence.
estimationBack-of-envelope QPS, storage, bandwidth and memory, done out loud.
core designsShortener, rate limiter, ledger, chat, feed, notifications.
data-heavy designsFile storage, search and typeahead, job scheduling.
the synthesisA multi-country transfer platform with rails, ledgers, residency and failure modes.
Built on the backend and data coursesUses Scaling Databases, Distributed Systems, the Production Stack, Ledgers and Kafka. Frontend System Design is the mirror for client-side rounds.