Module 8 · From One Server to Millions · Lesson 35 of 35
Capstone: system design projects for your resume
15 minFree System design course · Beginner to intermediateLesson 8.4By Saket Bhatnagar
Researched and drafted with AI, reviewed and edited by Saket Bhatnagar.
In short
- System design projects for resume building are small, familiar systems designed end to end with numbers, from requirements to an SLO and a 5-minute pitch.
- You can practise without real scale: design for the real numbers, then test a tiny version on your laptop.
- Say what you measured and what you only estimated, and never invent users.
Video lesson · coming soon
Capstone: a system design project you can defend
Lala, your AI mentor, will walk you through this lesson in a short animated video. Until then, everything is here to read and try.
- 01 Twelve slides, no numbers
- 02 An architect and a house plan
- 03 The template, filled for SeatJaldi
- 04 Fill the worksheet with me
- 05 A hundred callers, one seat
- 06 Go and practise it
SeatJaldi now has 1 crore monthly users, 40 engineers in Baner and a ₹40 crore Series A. Meera Kulkarni asks Arjun Nair to present the design for the next stadium final sale to the board, in 5 minutes.
Arjun brings twelve slides of boxes. Meera stops him on the second. “Where is the peak? What breaks first?” Arjun knows every part, but has never put them in an order a listener can follow.
Afterwards, Zoya Mirza hands him a blank page with eight slots. “Fill them in this order and the pitch writes itself,” she says. “Which slot do most people skip?”
What are good system design projects for resume building?
A good project is a small, familiar system designed end to end with numbers, such as a ticket app. You can explain every part of it, including what fails.
Keep one line in your head: requirements, numbers, boxes, failure review, then tell the story. It is lesson 34’s interview order, on paper.
- Requirements: what it must do, how well, and what you will not build.
- Numbers: the peak, storage and servers, with assumptions said.
- Boxes: the API, the data and the diagram, each tied to a number.
- Failure review: what breaks first, and one SLO.
- Story: a 5-minute pitch, a short spoken walk-through.
The capstone design template, filled for SeatJaldi
Drag to exploreEight slots in order, from requirements to failure review and pitch; slots 6 and 7 share a box. Each box holds SeatJaldi’s answer.
Diagram connections:
- 1 Requirements to 2 Numbers (Numbers next)
- 2 Numbers to 3 API (Shape it)
- 3 API to 4 Data and store (Store it)
- 4 Data and store to 5 High-level diagram (Draw it)
- 5 High-level diagram to 6 and 7 Scale and protect (Fix weak spots)
- 6 and 7 Scale and protect to 8 Failure, SLO, pitch (Review it)
- 1 Requirements: Pick, hold, pay, QR ticket; no seat sold twice
- 2 Numbers: 5 lakh people x 20 requests in 600 s = about 16,700 a second
- 3 API: GET seats, POST hold (201 or 409), POST booking with a key
- 4 Data and store: SQL for bookings, key-value for holds, documents for venues
- 5 High-level diagram: CDN, load balancer pair, stateless servers, Redis, queue
- 6 and 7 Scale and protect: Cache, CDN, replicas; conditional update, idempotency key,…
- 8 Failure, SLO, pitch: Single points of failure; SLO 99.9% within 1 s; 5-minute pi…
- A resume says “built a chat app with 10 lakh users”. The interviewer asks how that was measured, and the room goes quiet. Invented numbers fail one follow-up.
- A game shows “queue position 4,213” on launch day. The team sized for a peak and chose a waiting line to protect the servers.
- A friend’s side project breaks when two people use it at once. A tiny test with two callers finds that race.
Pick a house you can plan well, not a palace. Common beginner ideas: a ticket app, a tiffin subscription app, a bus-pass app, a URL shortener or a rate limiter.
How do you design a system for your resume, step by step?
Fill eight slots in order: requirements, numbers, API, data, diagram, scaling reads, protecting writes and work, then failure review and a pitch. It is Vasudha’s order: rooms, budget, plan, weak points, walk-through.
Most people skip the numbers, step 2, and then the failure review, step 8. Without a peak, nobody can say why a box is there or what breaks first.
How to practice system design without real scale?
Design for the real numbers and test a tiny version. A few small tests and a written review show the same skills without millions of users. Vasudha would test a scale model before building the real house.
- Two callers, one seat: send 100 hold requests for A12 at once. Expect one success and 99 conflicts.
- Same payment twice: send one idempotency key twice. Expect one charge and the same response.
- Stop the cache: watch database load jump, and check whether bookings still meet the SLO.
for i in $(seq 1 100); do
curl -s -o /dev/null -w "%{http_code}\n" -X POST \
http://localhost:8000/matches/42/seats/A12/holds &
done | sort | uniq -cWhat just happened? Each curl sends one request; the & starts all 100 together. On a fresh seat, rate limiter off, the one-step hold gives 1 for 201 and 99 for 409. Two or more 201s mean double booking.
Sandeep Patil adds one more habit: write up every outage as a design lesson.
Bonus design review: read the postmortem of the October 2025 cloud outage that lessons 3 and 28 described. Find three ideas from this course in it: the hidden DNS dependency, retries and overload, and the blast radius.
How do you write the project on your resume and pitch it in 5 minutes?
Write each bullet as a number, a choice and a trade-off, then rehearse a five-minute pitch in the eight slots. Name the peak, what you chose over what and why, and what you tested.
- Designed seat booking for about 16,700 requests a second at peak, estimated from 5 lakh users x 20 requests in 10 minutes.
- Prevented double booking with a conditional update and 10-minute seat holds, trading a few rejected taps for correct seats.
- Made payments safe to retry with an idempotency key; sent one request twice and saw one charge.
- Set an SLO of 99.9% of bookings within 1 second over 28 days: about 40 minutes of error budget.
Say “estimated” for design numbers and “measured” for test results.
Then score your design, the way the family checks Vasudha’s plan:
- Requirements stated, including out of scope.
- The estimate shown, with its assumptions.
- Single points of failure named and fixed.
- A consistency model chosen per feature.
- One SLO, with its error budget.
- One change you would make at 10 times the load.
Try it yourself
Pick a brief
SeatJaldi’s stadium final sale, a Pune tiffin app or a city bus-pass app, each with its starting numbers.
Fill the worksheet
Write all eight steps on paper, in order, with your own numbers.
Run one test
Start with two callers, one seat, rate limiter off, and write down the counts.
Write four bullets
Number, choice, trade-off, result.
Pitch it
Time five minutes, then take two follow-up questions from a friend.
Check your answer
You pass if all six self-review lines are ticked and every bullet holds a number you can explain. The test result is measured, and the pitch fits 5 minutes without notes.
Back in the board room, Arjun pitches again. The slot he skipped, the numbers, now comes second: a peak of 16,700 a second, with a number behind every box. Meera takes the one-page version to the board.
Then Sandeep reads the postmortem of the 22-minute outage aloud. “The retry storm is on page one. Our design review never asked about a slow gateway.” Arjun marks the lessons that would have caught it: retries, timeouts, the circuit breaker. That was the monsoon question, never asked.
Arjun sends the blank worksheet to Shreya, the fresher from Nagpur, for her next practice round. He can tell the whole journey now, from one ₹1,200 server to 1 crore users. You can now design and defend a system: take it from one server to millions, explain every part, and say it out loud, so go and practise it on a real question.
Check yourself
Check yourself
A friend’s capstone has clear requirements and a neat diagram, but no numbers and no failure review. Best advice?
Pick an answer to see why it is right or wrong.
Check yourself
You built a small booking app on your laptop. How should your resume describe it?
Pick an answer to see why it is right or wrong.
One last game, across the whole module.
Remember these three
- Requirements, numbers, boxes, failure review, then tell the story.
- Design for the real numbers, test a tiny version, and say what you estimated and what you measured.
- Write each resume bullet as a number, a choice and a trade-off.
Questions people ask
- What are good system design projects for a resume?
- Good ones are small, familiar systems designed end to end with numbers. Try a ticket app, a tiffin subscription app, a bus-pass app, a URL shortener or a rate limiter. Pick one you can explain fully.
- How to practice system design without real scale?
- Design for realistic numbers, then test a tiny version on your laptop and run a few failure tests. Write down the estimate, the result and what you would change. That shows the same skills.
- Can freshers put a system design project on a resume?
- Yes, if it is honest and you can defend it, though the weight it gets depends on the company. List the peak you designed for, one trade-off and one measured result.
- How do you present a system design project in an interview?
- Give a five-minute pitch in a fixed order: requirements, numbers, diagram, how you protect reads, writes and failures, and the SLO. Then take questions, saying which numbers you estimated.
You reached the end of System Design from Scratch
Every lesson stays open whenever you want to reread one.
What you can now do
- Explain what happens between tapping a button in an app and seeing the result, part by part, in words a friend would follow.
- Estimate how many users, requests and how much storage a system needs, and turn those numbers into a first design.
- Choose between a cache, a read replica, a shard or a queue for a slow or overloaded system, and say why.
- Pick the right kind of database for a feature and explain the trade-off between consistency and availability.
- Keep a system running when parts fail, using timeouts, retries, rate limits and monitoring.
- Design a real system end to end, such as a ticket-booking app, and present it in a 45-minute interview.