Drills
Pick a product and design it until it stops breaking. 15 real products in four tracks, about 14 hours in all. Every drill ends with your own design surviving a load test.
- 01
Read the brief
Requirements and the numbers behind them.
- 02
Shape the contract
Endpoints first, then the tables they need.
- 03
Wire the system
Servers, caches, queues, drawn on a canvas.
- 04
Take the hit
Traffic spikes and outages until it holds.
Track 1
Serve it fast
Read-heavy products where caching, storage and the edge do most of the work.
0 of 4 done
- PastebinStore text blobs cheaply, serve them fast, and expire them on time.easy 40 minObject storage · CDN · TTL & expiryStart
- Search autocompleteSuggestions in under 50 ms, from billions of past queries.medium 50 minTries · Top-k · CachingStart
- Video platformUpload once, transcode to every quality, stream to any network.medium 60 minUpload pipelines · Transcoding · Adaptive bitrate · CDNStart
- URL shortenerA few writes, billions of redirects, and short codes that never collide.easy 50 minAPI design · Schema · Vertical & horizontal scaling · Caching · Rate limiting · Failover · Read-your-writesStart
Track 2
Fan it out
One write, many readers: queues, workers and precomputed timelines.
0 of 3 done
- Notification systemEmail, SMS and push to millions, without double-sending or dropping one.medium 50 minQueues · Workers · Retries · IdempotencyStart
- Photo feedFan-out on write or on read, and the celebrity who breaks both.medium 55 minFan-out · Timeline cache · Hot usersStart
- Ranked feedVotes pour in, and the ranking stays fresh and fair.medium 50 minCounters · Ranking · Write-heavyStart
Track 3
Keep it live
Open connections, pub/sub and state that changes every second.
0 of 4 done
- Chat appMessages in order, with delivery ticks, to phones that keep going offline.medium 60 minWebSockets · Ordering · Offline delivery · ReceiptsStart
- Online presenceWho's online right now, for a hundred million users.medium 45 minHeartbeats · Pub/sub · Fan-outStart
- Collaborative editorMany people typing in one document, and nobody's edit lost.hard 65 minOT & CRDTs · Presence · SyncStart
- Ride dispatchMatch the nearest driver to every rider while both are moving.hard 60 minGeo-indexing · Matching · Location updatesStart
Track 4
Get it exactly right
Money, seats and files, where a race or a retry costs real people.
0 of 4 done
- Ticket bookingHold a seat, take the payment, never sell it twice.medium 55 minSeat holds · Locking · Double-bookingStart
- Payment systemMoney moves exactly once, even when every network call fails.hard 65 minIdempotency keys · Outbox · ReconciliationStart
- File syncKeep every device in sync, and send only the bytes that changed.medium 55 minChunking · Delta sync · ConflictsStart
- Key-value storeA store that stays up and correct when machines die.hard 70 minPartitioning · Replication · QuorumsStart