Databases & Storage
Storing data at scale — transactions, isolation, indexing, ledgers and sync — from the concurrency handbook to systems like Dropbox, a payment ledger and a key-value store.
Handbooks 2
Concurrency, Locks & Isolation Levels
How overlapping operations stay correct — race conditions, optimistic vs pessimistic locking, the four isolation levels and their anomalies, MVCC, and distributed locks with fencing tokens. Part of System Design Fundamentals.
Partitioning, Sharding & Replication
How one dataset becomes many — range vs hash partitioning, consistent hashing and virtual nodes, hot partitions, replication topologies, replication lag, and quorums. Part of System Design Fundamentals.
System Designs 10
Design YouTube
Build a planet-scale video platform step by step. See how raw uploads become an adaptive-bitrate ladder through an async transcoding pipeline, how a CDN serves immutable segments from the edge, how tiered blob storage holds exabytes affordably, and how view counts stay async — through an interactive diagram that grows with each concept.
Design Dropbox
Build a file sync engine step by step. See how splitting metadata from bytes, content-addressed block storage with deduplication, delta sync, a push-then-pull notification service, and conflict-safe versioning fit together to keep files consistent across every device — through an interactive diagram that grows with each concept.
Design Ticketmaster
Build an event-booking system step by step. Tackle the double-booking problem head-on: seat inventory, short-lived holds with TTLs, exactly-once purchases via ACID transactions, payment sagas with idempotency, and a virtual waiting room that tames the on-sale stampede — through an interactive diagram that grows with each concept.
Design a Key-Value Store
Build a distributed key-value store like DynamoDB step by step. See how consistent hashing places keys, how replication and tunable quorums (R + W > N) trade consistency for availability, how vector clocks resolve conflicts, and how gossip membership, hinted handoff and read repair keep it alive through failure — through an interactive diagram that grows with each concept.
Design a Web Crawler
Build a distributed web crawler step by step. See how a URL frontier drives the fetch–parse–enqueue loop, how a bloom-filter seen-set stops infinite re-crawling, how politeness and robots.txt keep you a good citizen, how DNS caching and content dedup remove bottlenecks, and how to shard the frontier by host and dodge traps — through an interactive diagram that grows with each concept.
Design Instagram
Build a photo-sharing app step by step. See how splitting media from metadata, a CDN for immutable images, async image processing, a precomputed feed cache, asynchronous like/view counters, TTL-based ephemeral stories, and sharding fit together to serve billions of photos — through an interactive diagram that grows with each concept.
Design Pastebin
Build a text-paste service step by step. See how base62 key generation, separating metadata from blob storage, a cache and CDN for the read-heavy immutable path, TTL expiration, privacy flags and size limits, and async analytics fit together — through an interactive diagram that grows with each concept.
Design a Search Engine
Build a web search engine step by step. See how an inverted index turns search into list lookups, how query parsing mirrors indexing, how an offline indexer builds postings, how BM25 and PageRank rank results, and how document-sharded scatter-gather, result caching and a fresh index scale it to billions of pages — through an interactive diagram that grows with each concept.
Design Airbnb
Build a lodging marketplace step by step. See how listings and geo search with filters, per-listing availability calendars, atomic booking that never double-books, payment hold-and-capture with idempotency, event-driven reviews and reindexing, and read replicas fit together — through an interactive diagram that grows with each concept.
Design a Payment System
Build a payment system like Stripe step by step. See how a payment is modeled as a state machine of authorize and capture, how idempotency keys prevent double-charges, how a double-entry ledger keeps every cent auditable, how tokenization shrinks PCI scope, and how async webhooks, reconciliation and a durable retryable worker handle slow banks and failure — through an interactive diagram that grows with each concept.