System Design: How Apps Scale
Discover the invisible architecture behind modern software that keeps apps fast and reliable under heavy traffic. Learn to trace requests, spot bottlenecks, and make the foundational architectural trade-offs that power millions of users.
Like Duolingo, but for System Design: How Apps Scale. Tomo turns the whole topic into a game you play five minutes a day, until it actually sticks.
A short one: 10 levels across 2 sections, about 20 minutes end to end, roughly 4 days at five minutes a day. It moves through Mapping the Request Flow and Surviving Spikes and Failure. It starts from scratch.
Free forever · No credit card · iPhone & Android

Key ideas in System Design: How Apps Scale
- Interactive applications use a client-server dialogue where clients initiate requests and servers process them
- The server is responsible for computing business logic and persisting state, rather than trusting the user's device alone
- Modern systems separate stateless compute servers from dedicated persistent storage like databases
- Stateless web servers can crash, restart, or scale without losing committed user data because state lives elsewhere
- Read-heavy systems benefit most from caching and read replicas because identical data is viewed repeatedly
- Write-heavy systems must prioritize ingestion speed, data durability, and avoiding write bottlenecks
- Signal speed through physical mediums like fiber optics sets an unbreakable minimum latency floor over long distances
- Network hops through intermediate hardware (routers, switches, firewalls) each add processing and queuing delay
- A load balancer sits between incoming users and a pool of duplicate backend servers
- It acts like a traffic dispatcher, routing requests evenly so no single server becomes a bottleneck
- If traffic surges, you can add more duplicate servers behind the balancer without changing the app's public address
- Reading from fast system memory is much quicker than querying a persistent disk-based database
- A cache holds the answers to frequent, repeated queries to avoid duplicate processing
- Shielding the database with a cache keeps it from slowing down under heavy read traffic
- Caching creates a duplicate copy of data in fast storage, which can fall out of sync with the main database
- Cache invalidation is the process of clearing or updating cached data when the source changes
You've tried the other tabs
Thirty open tabs. Four facts you actually kept.
You watched. You nodded. By Sunday it was gone.
One answer, then back to scrolling.
Eight weeks. You meant to finish. You didn't.
Tomo gives System Design: How Apps Scale the Duolingo treatment: levels, streaks, and quick quizzes that test what you just learned. That game loop is what the tabs above never had, so it's the one you actually finish.
Here's what playing it feels like
A real question from this course. Take your best guess.
When you tap 'Like' on a photo in an app, how does the app share that action?
Get it right to open this lesson and 9 more in the app.
Where System Design: How Apps Scale takes you
- 1
Mapping the Request Flow
- Tracing the Basic Request Path
- Relieving Pressure with Caches and Balancers
- 2
Surviving Spikes and Failure
- Decoupling Work with Queues
- Navigating Trade-Offs and Failures
2 sections · 4 units · 10 levels. Built to play, not to enroll.
Tomo is in ChatGPT
Tomo is also a ChatGPT plugin: the same playable courses, built and played inside your chat.
Add Tomo to ChatGPT- What to ask
- “Make me a Tomo course on black holes.” “Turn this chat into a Tomo course.”
- What you get
- Quick questions with instant feedback, hearts and stars, ready to play in about a minute.
- Where it goes
- No sign-up to start. Connect your Tomo account and your streak carries on in the app.
You pick the voice
System Design: How Apps Scale is taught in the Professor style: clear, structured, thorough. Want a different feel? In the app you can spin up the same topic in any of Tomo's teaching styles. Same facts, totally different vibe.
More Technology on Tomo
Distributed Systems: The Architecture of Scale
Master the patterns and trade-offs required to build reliable software across multiple machines. Learn the standard terminology and mental models used by senior engineers to solve the hardest problems in modern infrastructure.
Building Apps That Stick Together
Move beyond writing code to building complete systems. Learn how to connect your logic to the real world, manage data flow without the mess, and make confident architectural choices that stop decision fatigue.
How Robots Work
Discover how machines sense the physical world, make real-time decisions, and move with precision. Learn the core principles behind autonomous navigation, mechanical manipulation, and feedback control.
Thinking Like an Engineer
Discover how engineers tackle chaotic, complex problems with clarity and precision. Learn to deconstruct systems, navigate tough trade-offs, and turn real-world failures into durable designs.
Designing Software Systems
Learn how to turn messy business problems into clear, structured software blueprints. Master user story mapping, interactive wireframing, process modeling, and data architecture to design systems developers can build with precision.
Data Structures in Practice
Discover how real software organizes, stores, and accesses data at scale. Explore everyday structures like hash maps, trees, and queues, and learn to make fast, reliable architectural choices.
Start System Design: How Apps Scale today.
Download Tomo, search System Design: How Apps Scale, and play your first lesson in under a minute.