Start here
Where to start
Pick the track closest to your level. Each is an ordered reading path through the case studies and guides, with the reason for each step, the reading time and what the page prepares you to say. The levels are the author's grouping, not an official scale; skip around freely. Everything is free to read, with no signup.
Mid-level track
Core client skills: local-first data, safe retries, paging and caching. About 86 minutes of reading in total.
- The framework4 minThe method every other page reuses, and where the 45 minutes go.You will be able to: walk through the five steps and say how a round's time is split.
- Design a chat app11 minThe canonical offline example: outbox, idempotent sends, sync.You will be able to: explain why a send is saved locally first, and how a retry avoids a duplicate.
- Design a news feed9 minBuilds on the chat app: paging, optimistic writes, cache freshness.You will be able to: describe how a feed pages, updates optimistically and stays fresh.
- Design a pagination library17 minPaging as a reusable library: public API, generics, cancellation.You will be able to: design the public surface of a paging library and say what stays internal.
- Design an image loading library16 minCaches, decoding and cancellation behind a scrolling list.You will be able to: explain how an image loader keys, caches, downsamples and cancels requests.
- Design photo backup and file sync16 minResumable uploads, and who runs the transfer in the background.You will be able to: explain resumable block uploads and which system component schedules them.
- Design a hotel or ride booking app13 minHolds, server time and idempotent payments.You will be able to: describe a hold that expires on server time and a payment retry that cannot charge twice.
Senior track
Trade-offs and failure modes across sync-heavy and SDK-style questions. About 99 minutes of reading in total.
- The framework4 minThe method, and the time split to practise against.You will be able to: walk through the five steps and say where the time goes.
- Design a chat app11 minStart with the lost-acknowledgement walkthrough.You will be able to: explain the outbox and idempotency key, and what happens when an ack is lost.
- Offline-first mobile system design: one model, six case studies10 minThe one model behind six of the case studies.You will be able to: state the offline-first model and choose a conflict policy per kind of data.
- Design a news feed9 minOptimistic writes and cache invalidation under failure.You will be able to: defend a pagination and invalidation choice and its failure modes.
- Design photo backup and file sync16 minThe hardest sync problem here: blocks, conflicts, background limits.You will be able to: explain block-level sync, conflicts and platform background limits.
- Design a hotel or ride booking app13 minServer-authoritative time and payment recovery.You will be able to: explain holds, idempotent booking and how the app recovers after a crash.
- Design a push notification SDK14 minSDK design: token lifecycle, delivery and app states.You will be able to: explain token refresh, delivery limits and what changes in each app state.
- Design an analytics SDK13 minSDK design under constraints: batching, persistence, privacy.You will be able to: design an event queue that survives process death and respects consent.
- Staff-level mobile system design: what the round tests9 minOptional stretch: see where the bar moves at staff level.You will be able to: separate what a senior answer covers from what staff adds.
Staff track
Cross-cutting models, platform-level decisions and how to present them. About 95 minutes of reading in total.
- The framework4 minThe method, and the time split to practise against.You will be able to: walk through the five steps and say where the time goes.
- Design a chat app11 minThe worked example the staff guide builds on.You will be able to: explain the outbox and idempotent send before adding staff-level scope.
- Offline-first mobile system design: one model, six case studies10 minThe model that ties the case studies together.You will be able to: apply one offline-first model across chat, feed, upload, booking, analytics and push.
- Design photo backup and file sync16 minConflicts, versioning and background transfer limits.You will be able to: reason about conflict policy and transfer scheduling across both platforms.
- Design an analytics SDK13 minSDK ownership: versioning, remote config, multiple SDKs.You will be able to: talk about SDK versioning, privacy and rollout, not only the queue.
- Design a push notification SDK14 minPlatform differences, coexistence and failure testing.You will be able to: explain token lifecycle and coexistence with other push handlers.
- Staff-level mobile system design: what the round tests9 minWhat staff answers add, and a four-week practice plan.You will be able to: say what changes from senior to staff and how you would practise it.
- Native vs cross-platform: write the decision record18 minEnds the track: a decision record for a framework bet.You will be able to: write a decision record with the assumption that would flip it, a migration path and a rollback.