Skip to content

Course and AI tutor

System design, from zero, in plain English.

125 lessons in 19 modules. Each lesson uses only ideas you have already met. No gaps.

Every lesson is free to read. No account, no credit card. The AI tutor is what you sign up for (20 questions a day, free).

Lessons
125
Modules
19
Reading time, all lessons
44 hours, about
Fast track
34 lessons, about a week

How it is written

Three rules, written down

Every lesson is written to these rules. They are the reason the course is easy to follow.

  • 01

    Bottom up

    A lesson never uses an idea you have not met.

    Lesson 31 is about caching. It needs 4 lessons first. They come earlier in the course, so when you reach it, nothing in it is new.

    See lesson 31 in the syllabus
    1. 4How good is good enough: uptime and speed
    2. 15Storage, bandwidth and how many servers
    3. 17SQL or NoSQL, and which kind
    4. 20Indexes and reading a query plan
    5. 31Caching basics: hit, miss, TTL, hit rate
  • 02

    Very easy English

    Short sentences. Common words. Every term explained.

    Many engineers read English as a second language. The course is written for them, not for native speakers who already know the words.

    See the reading time of every lesson
    • Full lessons92
    • Short lessons33
    • A full lesson is about 2,000 words. A short one is about 800. Reading time is shown on every lesson.
  • 03

    Complete

    One idea, taught fully, so you can answer in an interview.

    Not a thin summary. Each lesson has the reason, the idea, a worked example, the trade-offs, the common mistakes, and a check with answers.

    See the case studies

    21 case studies

    • 38URL shortener
    • 57Rate limiter for many servers
    • 70Payment system
    • 77Chat
    • 78News feed
    • 81Ride-hailing and food delivery
    • and 15 more

Inside a lesson

How one lesson goes

All 125 lessons have the same nine parts, in the same order. So you always know where you are, and what to do next.

Some lessons also end with a one-page summary card. Open a part to see what it is for.

  1. 01Why interviewers ask this

    A short, real situation. You see why the topic matters, and how a weak answer and a strong answer sound.

  2. 02The idea in plain words

    Every new word is explained the first time it appears. A small everyday picture first, then the idea.

  3. 03Pause and predict

    A question before the answer. You guess first. A guess you made yourself sticks better than an answer you read.

  4. 04Worked example

    One example with every sum shown, step by step. Made-up numbers are marked as assumptions, so you know they are for teaching.

  5. 05Trade-offs

    What each choice gives you, what it costs, and when you would change it. This is what an interviewer listens for.

  6. 06Common misconceptions

    Mistakes people really make, and why each one is wrong.

  7. 07How to say it in the interview

    Two short sentences you can say out loud. For spoken rounds, where clear words matter.

  8. 08Check your understanding

    A few questions, some with sums, to test yourself before you move on.

  9. 09Answers

    Full worked answers, so you can mark yourself and see where you went wrong.

The syllabus

All 125 lessons, in order

Search by a word, or filter by level. Every lesson opens right now, free, with no account.

  1. 01Start here: how the round works6 lessons2 h

    All of module 1 on one page

  2. 02Web and API basics7 lessons1 h 36 min

    All of module 2 on one page

  3. 03Estimation3 lessons1 h 10 min
    • 14

      From users to requests per secondFast track

      How to turn daily users into requests per second, with a busiest-time factor and a read to write split, plus the sizes, times and powers of two worth knowing.

      Core24 minRead free
    • 15

      Storage, bandwidth and how many serversFast track

      How to work out how much data you store, how much data moves each second, how many servers and how much memory you need, and what it costs each month.

      Core24 minRead free
    • 16

      Estimation drills at Indian scale

      Three timed drills on Indian events, UPI payments on the 1st, a live cricket final and a train booking window at 10 am, using one routine for requests, data, writes and servers.

      Core22 minRead free

    All of module 3 on one page

  4. 04Databases: first steps9 lessons3 h 22 min

    All of module 4 on one page

  5. 05Scaling one service5 lessons1 h 33 min

    All of module 5 on one page

  6. 06Caching and CDN8 lessons3 h

    All of module 6 on one page

  7. 07Copies and splits of data8 lessons2 h 55 min

    All of module 7 on one page

  8. 08Consistency and coordination7 lessons2 h 24 min

    All of module 8 on one page

  9. 09Failing safely4 lessons1 h 28 min

    All of module 9 on one page

  10. 10Queues and events8 lessons2 h 50 min

    All of module 10 on one page

  11. 11Workflows, money and bookings9 lessons3 h 37 min
    • 66

      Workflows as state machines

      How to describe an order, a payment or a booking as a list of states and a table of legal moves, so that a wrong or repeated message cannot put it in a wrong state.

      Core12 minRead free
    • 67

      Many steps, one undo plan (sagas)Fast track

      How to finish a job that spans several services when one database transaction cannot cover it: steps with compensations, who runs the plan, and why two-phase commit is rare.

      Core24 minRead free
    • 68

      Ledgers and reconciliationFast track

      How to keep money records that can always be explained: an append-only ledger with balanced entries, payments that stay pending until confirmed, and a daily check against the gateway's report.

      Core24 minRead free
    • 69

      Webhooks and third-party integrations

      How to receive a webhook safely (signature, fast reply, repeats, wrong order), how to send one to many receivers, and what to read in a provider's promises.

      Core24 minRead free
    • 70

      Case study: Payment system (UPI, cards; wallet twist)Fast track

      How to design the payment part of an app: one key for each payment, a state machine, safe callbacks, a ledger, an outbox, a daily check against the gateway, and a wallet version.

      Case studyCore28 minRead free
    • 71

      Case study: E-commerce checkout and flash sale

      How to design checkout for an online shop (catalog, cart, stock, order, fraud check) and how to keep one hot item correct when a million people press Buy on a big sale day.

      Case studyCore28 minRead free
    • 72

      Case study: Ticket booking

      How to design ticket booking for trains and cinemas: seat states, a hold that expires, a waiting room for the 10 am rush, payments that finish late, and a version for hotel rooms.

      Case studyCore28 minRead free
    • 73

      Case study: Notification system

      How to design one system that sends push, SMS and email: separate lanes for urgent and bulk messages, fan-out to 50 million users, retries, duplicate protection and per-user limits.

      Case studyCore25 minRead free
    • 74

      Case study: Job scheduler

      Design a job scheduler: store jobs by run time, let workers claim due jobs, handle crashed workers and repeats, make cron entries fire once, and find the point where the database is too slow.

      Case studyDepth24 minRead free

    All of module 11 on one page

  12. 12Real-time and feeds4 lessons1 h 40 min

    All of module 12 on one page

  13. 13Location and search3 lessons1 h 16 min

    All of module 13 on one page

  14. 14Counting, pipelines and media6 lessons2 h 38 min
    • 82

      Counting at scale: top-K, trending, leaderboards

      How to count when one counter is too busy or the items are too many: sharded counters, top-K with a count-min sketch, unique counts with HyperLogLog, trending, and leaderboards.

      Depth24 minRead free
    • 83

      Case study: Search autocomplete

      How a shopping app shows 8 suggestions while you type: a trie with the best 8 phrases on every node, scores from search logs, a trending layer, safe refresh, and serving from memory.

      Case studyDepth25 minRead free
    • 84

      Case study: Ad-click aggregation

      How to count billions of ad clicks: a fast stream for live numbers, a nightly batch for the exact bill, one-minute windows by event time, late clicks, and counting each click exactly once.

      Case studyDepth27 minRead free
    • 85

      Case study: Web crawler

      How a crawler fetches 100 million pages a day without hurting any site: the frontier with a queue per host, politeness and robots.txt, URL clean-up, and a Bloom filter that skips URLs it has already seen.

      Case studyDepth27 minRead free
    • 86

      Case study: File storage and sync (Dropbox, Drive)

      How a file app keeps your files on every device: chunks named by their hash, uploading only what is new, a metadata database, sync with a change journal, and conflicts kept as copies.

      Case studyDepth27 minRead free
    • 87

      Case study: Video streaming: on demand and live (Hotstar IPL)

      How to design a video app: make several sizes of each video, cut them into small files, let the phone choose the size, serve the files from a CDN, and prepare for a live match that millions join together.

      Case studyDepth28 minRead free

    All of module 14 on one page

  15. 15Services and running it11 lessons3 h 28 min

    All of module 15 on one page

  16. 16Security and privacy6 lessons1 h 24 min

    All of module 16 on one page

  17. 17Low-level design and machine coding9 lessons3 h 15 min
    • 105

      How a machine-coding round works

      What happens in a machine-coding round, how the time is spent, what the interviewer scores, and what to build first.

      Core12 minRead free
    • 106

      SOLID with small examples

      The five SOLID design principles, each shown on a small piece of Python code that you can run: one reason to change, adding without editing, safe substitution, small interfaces, and passing in what a class needs.

      Core20 minRead free
    • 107

      Strategy, Observer and State

      Three patterns that machine-coding rounds reward, each on small Python code: swap a rule (Strategy), tell everyone who asked (Observer), and change behaviour with the status (State).

      Core20 minRead free
    • 108

      Factory, Builder and the Singleton trap

      Three creation patterns on small Python code, and the cases where each one is the wrong choice, especially the Singleton, which hides shared state and makes tests fail.

      Depth12 minRead free
    • 109

      From requirements to classes, with just enough UML

      How to turn a problem statement into classes: find the nouns and verbs, give each rule an owner, draw a class diagram and a sequence diagram in five minutes, and handle a changed requirement with a small edit.

      Core23 minRead free
    • 110

      Thread safety in code

      How to keep shared data correct when many requests run at the same moment: why a counter loses updates, locks, a check followed by a change, atomic steps, deadlock and lock order, a safe cache, and why a lock in code does not protect many servers.

      Depth24 minRead free
    • 111

      Case study: LLD parking lot

      A parking lot from the problem statement to working Python code: find the classes, put the rules that can change in their own small classes, then add monthly passes with a small change.

      Case studyCore28 minRead free
    • 112

      Case study: LLD elevator and vending machine

      Two state machines written as working Python code: a lift (one class for each mode, then a fire alarm as a new class) and a vending machine (a table of legal moves, then a stopped state as three new rows).

      Case studyDepth28 minRead free
    • 113

      Case study: LLD Splitwise

      A bill-sharing app from the problem statement to working Python code: debts as a graph, whole-rupee splits with a leftover rule, one place that joins opposite debts, settling up, and fewer payments worked out from each person's total.

      Case studyDepth28 minRead free

    All of module 17 on one page

  18. 18Interview craft and capstone4 lessons1 h 12 min

    All of module 18 on one page

  19. 19AI systems8 lessons2 h 49 min

    All of module 19 on one page

The AI tutor

A tutor beside every lesson

Ask in your own words, any time. The tutor has read the lesson you are on. Reading the lessons is free for everyone; the tutor needs a free account. It will not write your interview answer for you.

  • It stays inside the lesson

    It answers from the lesson first. When your question is outside the lesson, it says so in plain words.

  • It teaches, it does not hand over answers

    Ask for “the answer” and you get a hint first. It usually ends with one short question, to check that you understood.

  • It uses your kind of English

    Short sentences and simple words. Write in Hinglish if you like. Technical words stay in English.

Free
20 questions a day
5-Mock Pack
30 a day
Pro
50 a day

Practice what you read

Read it. Then try it.

Many lessons end by pointing at something you can try for free. The idea sticks when you use it.

Simulator

Build it. Break it under load.

23 lessons point to a free simulator level. Read about a cache, then build one and watch the numbers move. No account needed.

Drill

Seven minutes. One real situation.

41 lessons point to a Drill or an incident. Today’s Drill is open to read with no account.

Cost lab

Read the cloud bill.

Build a monthly bill for real-looking workloads and hit the budget. You learn the cost levers interviewers ask about. Free.

Questions

Before you start

Do I need to know anything first?

No. Start at lesson 1. It only asks “what is system design?”. A lesson never uses an idea from a later lesson, so you can read in order and not get lost.

How long does it take?

Every lesson shows its reading time. All 125 lessons add up to about 44 hours of reading. If you build web services at work and have about a week, take the fast track: 34 lessons.

Is it free?

Yes. Every lesson is free to read, with no account and no credit card. A free account adds the AI tutor, the quizzes, your notes and your progress. The tutor has a daily limit: 20 questions a day on the free plan, 30 with the 5-Mock Pack and 50 with the Sprint or the Year pass. See the pricing page for the rest.

Will the English be hard?

No. The course is written for engineers who read English as a second language: short sentences, common words, and every technical word explained. You can also ask the tutor in Hinglish. Technical words stay in English.

Is it a video course?

No. It is text you read at your own speed, with a question to guess before each answer, a quiz after, and an AI tutor beside you.

Start at lesson one

Every lesson is free to read. Sign up free when you want the AI tutor beside you.