System design playground
Read the problem on the left, then think your way to the solution on the right. Every step asks you to decide first, then shows the correct reasoning before moving on.
Design a URL Shortener (TinyURL)
Turn long links into short ones and redirect billions of clicks, reliably.
16 steps · about 45 min
Design Autocomplete for Search
Show the best five suggestions after every keystroke, in under 100 milliseconds.
11 steps · about 40 min
Design a Load Balancer
Spread traffic over many servers, drop the ones that fail, and never become the failure yourself.
11 steps · about 40 min
Design a Content Delivery Network (CDN)
Serve files from a city near the user, and keep the origin calm.
12 steps · about 45 min
Design a Parking Garage
Model vehicles, spots, tickets and fees with clean classes, then handle two cars choosing one spot.
10 steps · about 40 min
Design a Vending Machine
Model a machine whose buttons mean different things in different states, and handle jams, missing change and power loss.
10 steps · about 40 min
Design a Distributed Key-Value Store
Build a Dynamo-style store that stays up when machines die and grows by adding nodes.
11 steps · about 50 min
Design a Distributed Cache
Build a Redis-style cache cluster that is fast, grows by adding nodes and never takes the database down with it.
11 steps · about 45 min
Design an Authentication System
Sign people in safely, keep them signed in, and let every service trust who they are.
11 steps · about 45 min
Design UPI (Unified Payments Interface)
Move money between any two banks in seconds, without ever losing, duplicating or inventing a rupee.
12 steps · about 50 min
How to use the playground
- Start with the URL shortener. It teaches the whole routine: requirements, numbers, API, design, deep dive, failures, trade-offs.
- Learn a building block, then design with it. Read the chapter on caching, load balancing or queues, then open the problem that uses it.
- Decide before you read. Every step asks for your answer first. Use the hint only after you tried.
- Finish with the scorecard. It shows which interview phase is weakest, and gives you a few lines to say out loud.
New to system design?
Start with the course. It covers the interview framework, estimation, IDs, caching and scaling with diagrams and quizzes. Come back here once a few chapters are done and build a real design.
Open the System Design course