System design katas
A kata is a focused practice scenario. You get a brief with real constraints, sketch an architecture, run a simulation, and see what holds. Each kata trains a different aspect of system design thinking.
Coffee please
Retail Technology
A repeatable exercise that turns system design into a testable skill
In martial arts, a kata is a sequence you practise until it becomes second nature. A system design kata works the same way: you receive a scenario with requirements and constraints, design a system to meet them, and get immediate feedback on what works and what breaks. Each repetition sharpens your judgment on trade-offs between latency, cost, reliability, and operability.
Pick a kata and start practising
Each kata is a self-contained scenario. Open one, sketch a system, and see how it handles the constraints.
Big news on campus
Serve a sudden surge of reads when thousands of users open the same notification at once.
The waiting room
Give patients a fast booking acknowledgement while processing confirmations asynchronously.
Checkout with change feeds
Separate transactional order writes from analytical reads using change feeds and read replicas.
The flash sale
Keep checkout stable during a scheduled surge using admission control and queue buffering.
The multi-writer
Manage four competing actors writing to a shared database without contention degrading any single channel.
Legacy lifeline
Protect a fixed-capacity legacy system from modern traffic volumes without replacing it.
The meal deal
Size a food-ordering backend to survive the lunch rush without blowing the budget.
Match day scores
Serve live sports scores to a massive audience using layered caching without overwhelming the origin.
Coffee please
Prevent double-charges and duplicate orders during peak demand and retries.
Three screens, one backend
Serve web, mobile, and in-store kiosk from shared infrastructure without one channel degrading another.
Payment handshake
Process payments through an external gateway with tight error tolerance and async settlement.
The status dashboard
Serve millions of status page reads during an incident using layered caching and read path isolation.
The event feed
Publish events once and fan out to multiple subscribers without the slowest one dragging down the publisher.
Ticket Drop
Keep checkout stable during an on-sale surge when a dependency partially fails.
Nodivex
Pick a kata and see what your design can handle
Open a scenario, sketch a system, and let the simulation show you the trade-offs.