System Design, Told as a Story
Learn system design the way it actually happens — one growing product, one crisis at a time. Meet Adda, follow it from a laptop under a desk to millions of users.
Most system design courses hand you a glossary. Load balancers, sharding, CAP theorem, CQRS — a wall of terms, each defined in isolation, none of them explaining why anyone would reach for it.
Real systems aren't built that way. Nobody wakes up wanting a message queue. They add one because something broke at 3am and a queue was the fix. Every concept in this book exists because a real product hit a real wall.
So we'll learn it the way it's actually lived: as a story.
Meet Adda
The product we're building
Adda (আড্ডা — a friendly hangout, a place to talk) is a social app. It starts as a single page running on Ria Rahman's laptop in a Dhaka apartment, with exactly one user: her friend Fahim.
By the end of this book, Adda serves millions of people across the world. Every chapter is one step of that journey — a moment where the old way stopped working and Ria's team had to learn something new.
You'll meet the team as the company grows, because that's how teams actually grow:
Ria
Founder and first engineer. Writes the first version of Adda alone.
Fahim
The very first user. Always the first to notice when something is broken.
Tanvir
Backend engineer. Joins when one person can no longer hold the whole system in their head.
Mou
Site reliability. Joins the night uptime becomes someone's actual job.
How each chapter works
Every chapter follows the same rhythm, so you always know where you are:
The 3am moment — something breaks, or someone complains, or a graph turns the wrong color. A concrete problem.
The idea — the concept that solves it, explained with a plain-language analogy first, then the real mechanics.
How Adda used it — exactly where it slots into our growing system, and what it cost.
The trade-off & the interview lens — nothing is free. What you gave up, and how to talk about it when someone asks in an interview.
The five acts
Part 1 · Networking
A request leaves Fahim's phone and finds Adda. Then traffic grows — DNS, APIs, load balancing, CDNs, caching.
Part 2 · Databases
The data outgrows one machine. SQL vs NoSQL, indexing, replication, sharding, CAP, transactions.
Part 3 · Architecture
The monolith cracks. Microservices, API gateways, queues, pub/sub, rate limiting, idempotency.
Part 4 · Reliability
Staying up under pressure — SLAs, failover, observability, circuit breakers, disaster recovery.
Part 5 · Case Studies
Design a URL shortener, news feed, chat system, rate limiter, and video platform — with everything Adda learned.
Where to start
If you're new, read What is system design? next — it sets up the whole journey. If you're here for a specific topic, jump straight to it from the sidebar. Every chapter stands on its own, but they're best read in order.
Adapted and expanded in English from the topic map of System Design Bangla. The story, characters, and framing are original to this course.
How is this guide?
Last updated on