Interactive systems lab / 06
Design Practice Lab.
Lock a product, change its scale or constraint, and work through the design choices that follow.
One product. One scale. One hard constraint.
First move: Pick a product and scale, write a baseline answer, then change one constraint and revise your design.
Restaurant ordering for 10,000 daily users.
Design restaurant ordering for 10,000 daily users. People browse menus, place orders, and track fulfilment. The system holds menus, orders, payments, and preparation state. Your defining constraint: no lost writes.
Your first design pass
Brief and notes stay in this browser tab, even after a refresh. A new challenge clears the notes; the timer restarts on refresh.
Focus timer
Use the first pass to state assumptions before reaching for components.
Hints when you need them
Can you defend the choices?
Check each point after you can explain it aloud. This is a practice rubric, not an automatic grade.
Keep the product fixed, then change only the scale. A sensible 100-user design may need no queue or cache. At a million daily users, request rate, failure recovery, and data boundaries become explicit design questions.
Under the practice
Explain the why, not a stack shopping list.
The brief names a product, an approximate scale, and a hard constraint. A useful answer states assumptions, chooses a source of truth, handles retries and failures, estimates demand, and explains what would be measured next.
The generator uses synthetic workloads. Its traffic estimate is a starting point, and the self-check is a practice rubric rather than an automatic grade.
- Keep the same product and raise its scale.
- Keep the scale and change the hard constraint.
- Explain why one simple design is enough before adding components.
Lesson 06 / Check your understanding
Can you explain the result?
The product stays the same but daily users rise from 100 to one million. What should you do first?