Parottasalna Course Notes

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.

BeginnerWeb services

Design a URL Shortener (TinyURL)

Turn long links into short ones and redirect billions of clicks, reliably.

16 steps · about 45 min

BeginnerSearch & data structures

Design Autocomplete for Search

Show the best five suggestions after every keystroke, in under 100 milliseconds.

11 steps · about 40 min

BeginnerInfrastructure

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

IntermediateInfrastructure

Design a Content Delivery Network (CDN)

Serve files from a city near the user, and keep the origin calm.

12 steps · about 45 min

BeginnerObject-oriented design

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

BeginnerObject-oriented design

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

AdvancedStorage & databases

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

IntermediateStorage & databases

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

IntermediateSecurity

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

AdvancedPayments & fintech

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

  1. Start with the URL shortener. It teaches the whole routine: requirements, numbers, API, design, deep dive, failures, trade-offs.
  2. Learn a building block, then design with it. Read the chapter on caching, load balancing or queues, then open the problem that uses it.
  3. Decide before you read. Every step asks for your answer first. Use the hint only after you tried.
  4. 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