Learn architecture by watching your design take the load.
Pick a kata, sketch the system on a canvas, then run real traffic through it. The simulator marks up what breaks, so you learn the trade-off instead of memorising the answer.
- No signup required
- Deterministic simulation
- Feedback from your own run
Start from a real business problem
Each kata hands you a brief with real constraints: user traffic, latency targets, failure modes. Your job is to sketch a system that meets them.
Realistic briefs
Business goals, traffic patterns and constraints taken from systems that exist.
Clear targets
Every actor has acceptance criteria, so you know what good looks like before you start.
Graded difficulty
Start with one service and work up to multi-writer, distributed systems.
Coffee please
Retail technology · 20–35 min
Business goals
- Prevent double-charges and duplicate orders under retries
- Keep checkout responsive during the morning rush
- Award loyalty points exactly once per purchase
Constraints
- No manual steps
- Flaky payment provider
- Must prevent double-charge
Send traffic through it and see what breaks
The simulator pushes requests along the paths you drew and shows where queues form, what fails and what holds.
Traffic over time
Bursts, steady load and failures play out across a timeline you can scrub.
Bottlenecks named
See which component hits capacity first, and why.
Deterministic
Same diagram, same inputs, same result. Change one thing and the difference is yours.
Coffee please
Simulation · run 014
Morning rush
- orders/min
- 1.2k
- checkout p50
- 140ms
- duplicate rate
- 3.1%
Issue detected
Duplicate orders on retry
Payment provider timeouts trigger customer retries. Without idempotency keys, 3.1% of orders are created twice.
Feedback that points at your numbers
No vague advice. Every note references something that happened in your run and suggests one specific thing to try next.
Grounded critique
Each finding names a metric or bottleneck from the simulation.
Trade-offs made visible
See what you gained and what you gave up with each choice.
One next experiment
A concrete change to make, so the next run teaches you something.
Coffee please
Review · run 014
Findings
Trade-off
Idempotency keys remove duplicate orders but add a lookup on every write. At 1.2k orders/min that is about 8ms per checkout.
Consistency
Order status reads “pending” for up to 12 seconds after payment confirms, so customers retry.
Try next
Add an idempotency key to the order creation path. Re-run and check the duplicate rate drops to zero.
One kata, four moves
- 01
Choose a kata
Pick a scenario that matches the kind of system you want to get better at.
- 02
Sketch the system
Drop in components and connect the flow. Keep it as small as you can.
- 03
Run the traffic
Watch how your design handles the load and the failure modes in the brief.
- 04
Change one thing
Tweak the diagram, re-run, and compare. That loop is the practice.
Start with one of these
Each kata is a self-contained scenario. Open one and see how your design copes.
- 01Big news on campusServe a sudden surge of reads when thousands of users open the same notification at once.Education TechnologyBeginner–Intermediate · 20–35 min
- 02The waiting roomGive patients a fast booking acknowledgement while processing confirmations asynchronously.HealthcareIntermediate · 25–40 min
- 03Checkout with change feedsSeparate transactional order writes from analytical reads using change feeds and read replicas.E-commerceIntermediate–Advanced · 30–45 min
- 04The flash saleKeep checkout stable during a scheduled surge using admission control and queue buffering.E-commerceIntermediate · 25–40 min
- 05The multi-writerManage four competing actors writing to a shared database without contention degrading any single channel.LogisticsAdvanced · 35–45 min
- Kata scenarios
- 14
- Hidden randomness in a run
- 0
- No signup, no card
- Free
Sketch a system and find out what it can take
Pick any kata and run it. No signup required.