Learn the problem.
Then design the system.
Go beyond “design the next big app.” Understand the invariants,
failure modes, and trade-offs that shape every good architecture.
must earn its place.
Same building blocks. Different hard problems.
Pick a family. Find its invariant. Follow the reasoning.
Read-heavy / Key-Value Systems
Fast lookups are easy. Correct mappings, hot keys, and stale reads are the real design problem.
Social Feed / Timeline Systems
Balance fan-out cost, fresh ranking, stable pagination, and the celebrity problem.
Messaging / Chat Systems
Separate durable acceptance from live delivery, ordering, and multi-device synchronization.
Booking / Reservation Systems
Protect single ownership under contention, expiring holds, and uncertain payment outcomes.
Payments / Wallet / Ledger Systems
Model money as auditable entries and treat uncertain external outcomes as first-class states.
E-commerce / Inventory / Orders
Coordinate stock, payment, and fulfillment without pretending they share one transaction.
Geospatial / Dispatch Systems
Use approximate location to find candidates, then make assignment authoritative.
File Storage / Synchronization
Keep file versions atomic while uploads, offline edits, and garbage collection race.
Collaborative Editing
Preserve concurrent intent while replicas diverge, reconnect, and converge.
Media Streaming / Delivery
Separate reliable publication from adaptive playback, expensive processing, and live latency.
Search / Indexing / Crawling
Build a recoverable derived index while managing freshness, ranking, and crawl pressure.
Notifications / Webhooks / API Infrastructure
Deliver recoverable work without retry storms, duplicate effects, or noisy-neighbor collapse.
Analytics / Counters / Stream Processing
Define what a number means before choosing how to count, window, replay, or approximate it.
13 guides · Designed to be studied, questioned, and revisited.
Connect the patterns
See where the same mechanism solves a different problem.
Find your next question
Decision trees for the moments when “it depends.”