Practice a round: a 45-minute timer for mobile system design
Pick a prompt. Start the clock. Practise out loud, one step at a time, and see how long each step lasts.
How it works
- Pick a case or press Pick a case for me. Pick your level.
- Start the timer. The page shows the step you are in and a short reminder for it.
- Write notes in the box if you want. They stay in this tab only.
- At the end, tick what you covered. You get a short summary and links to read more.
The five steps and their minutes are the same as the five-step method. The time split is my suggestion, not a rule from any company.
Your data stays here. Nothing is sent to a server. Nothing is saved. If you close the tab, your notes are gone.
1. Pick a prompt and a level
2. Run the round
Press Start when you are ready.
Your notes
3. Check yourself
This list is the author's reading, not any company's rule.
Without JavaScript
The timer needs JavaScript. If it is off, or if you prefer a plain clock, use this table. Start your own clock, then move on when the minutes for a step are used. The table is also a good page to print.
| Step | Do this | Ask yourself |
|---|---|---|
| 1. Scope and constraints 4 minutes | Ask five questions and name what is out of scope. Say what the phone does to the design. | What is in scope, and what is out? What does the phone do to this design? |
| 2. Data and contracts 10 minutes | Say where the data lives and which copy the app trusts. Name the IDs and the calls to the server. | Which copy does the app trust? What ID makes a retry safe? |
| 3. Client structure 8 minutes | Say who owns the work: the screen, the ViewModel, or a service that lives longer. | Who owns the work, and does it live longer than the screen? |
| 4. Make the hard part work 18 minutes | Walk the hard path slowly. Say the first idea, why it fails, and what you do instead. | What is my first idea? Why does it fail? What do I do instead? |
| 5. Break it, ship it, roll it back 5 minutes | Say what can fail and what the user sees. Say how you turn the change off and how you roll it back. | What fails, and what does the user see? How do I turn it off and roll it back? |
Total: 45 minutes. Make the hard part work gets the biggest block on purpose.
The twelve prompts
Each prompt is the one-line prompt from the first step of the case page. Open a case to see how the 45 minutes can go.
| Case | Prompt |
|---|---|
| Design a chat app | Design the chat feature for our app. People message one to one and in small groups. |
| Design a news feed | Design the home feed for a social app. |
| Design a pagination library | Design a pagination library for our mobile apps. |
| Design an image loading library | Design an image loading library for our apps. Other teams will use it to show pictures in lists. |
| Design a video streaming app | Design a video app for phones. People browse, watch, download for a flight, and resume. |
| Design photo backup and file sync | Design photo backup for our app. Photos and videos from the camera roll should be safe in the cloud. |
| Design a travel plans app | Design an app where friends plan a trip together, even on a plane with no signal. |
| Design a hotel or ride booking app | Design a hotel booking app. |
| Design a stock ticker app | Design the screen in a trading app that shows live prices. |
| Design a public transport app | Design an app that shows when my bus leaves, even with no signal. |
| Design a push notification SDK | Design a push notification SDK for our mobile apps. |
| Design an analytics SDK | Design an analytics SDK for mobile apps. |