Practice system design by building and simulating real systems
Pick a kata scenario, sketch a diagram, and see how it handles traffic. No signup, no gatekeeping.
Pick a scenario and start designing
Each kata gives you a brief with real constraints — user traffic, latency targets, failure modes. Your job is to sketch a system that handles them.
Realistic briefs
Business requirements, traffic patterns, and constraints based on real-world systems.
Clear goals
Every kata tells you exactly what the system needs to achieve.
Difficulty levels
Start with a small service and work up to distributed systems.
Coffee please
Retail Technology
Business goals
Constraints
Run your design against traffic and see what breaks
The simulator sends requests through your diagram and shows where bottlenecks form, what fails, and what holds up.
Traffic simulation
Watch requests flow through your components under realistic load.
Bottleneck detection
See exactly which component hits capacity first and why.
Deterministic results
Same diagram, same inputs, same output. Every time.
Coffee please — simulation
Complete1.2k
orders/min
140ms
checkout p50
3.1%
duplicate rate
Issue detected
Duplicate orders on retry
Payment provider timeouts trigger customer retries. Without idempotency keys, 3.1% of orders are created twice.
Get feedback grounded in your simulation data
No vague advice. Feedback references what happened in the simulation and suggests one specific thing to try next.
Data-driven critique
Every piece of feedback points to a specific metric or bottleneck from your run.
Trade-off analysis
See what you gained and what you gave up with each design choice.
Next experiment
Get a concrete suggestion for one change to make and re-run.
Coffee please — feedback
Trade-off
Adding idempotency keys eliminates duplicate orders but requires a lookup on every write. At 1.2k orders/min the extra read adds ~8ms per checkout.
Consistency
Order status currently shows "pending" for up to 12 seconds after payment confirms. Customers retry because they think it failed.
Try next
Add an idempotency key to the order creation path. Re-run and check whether the duplicate rate drops to zero.
Four steps to practice system design
Choose a kata
Pick a scenario that matches the kind of system you want to practice.
Sketch your diagram
Drop in components and connect the flow. Keep it light.
Run the simulation
See how your design handles the traffic and constraints.
Iterate and learn
Tweak the diagram, re-run, and compare what changed.
3
Kata scenarios covering real-world patterns
Real-time
Deterministic simulation on every run
Free
No signup, no credit card, no gatekeeping
Start practising system design
Pick any kata, sketch a diagram, and see what happens. No signup required.