Nodivex from TraitSpan
Intermediate

Three screens, one backend

Serve web, mobile, and in-store kiosk from shared infrastructure without one channel degrading another.

Kata overview

You do not need to be an expert to start. This kata keeps the stakes low so you can explore trade-offs, adjust the diagram, and see how the system responds.

Retail25–40 min

Context for this system design kata

Serve web, mobile, and in-store kiosk from shared infrastructure without one channel degrading another. This system design kata keeps the stakes low so you can rehearse trade-offs before taking ideas into production reviews.

Scenario and practice focus

Three channels, three traffic profiles, one backend. Web customers browse casually with high volume. Mobile app users search with purpose. In-store kiosk users need instant results because a sales associate is standing next to them. The challenge is serving all three from shared infrastructure without the busiest channel starving the most latency-sensitive one. The midday peak is when all three channels are busy simultaneously - web promotions drive browsers, mobile push notifications drive app traffic, and store foot traffic peaks at lunchtime.

Difficulty: Intermediate. Estimated time: 25–40 min. Domain: Retail.

Constraints to balance

Operational pressure

  • No manual traffic splitting or routing.
  • All channels must read consistent product data.

Customer and product constraints

  • Kiosk has the tightest latency target - a human is waiting.
  • Total cost must be less than running three separate backends.

Scenarios to explore in the simulator

Trade-off prompts
  • Meet different latency SLAs per channel from shared infrastructure.
  • Prevent high-volume web traffic from degrading kiosk experience.
  • Keep total platform cost lower than running three separate backends.
  • Keep product data in sync across all channels.

Learning outcomes

What you will learn
  • Design per-actor path isolation using separate services or replicas.
  • Understand that shared components create contention visible in per-actor metrics.
  • Use CDN selectively for high-volume, cacheable traffic without penalising low-latency channels.
  • Read multi-actor simulation results to diagnose which channel suffers first under load.
Ready to run
Open this kata in the simulator.

Give it a try!

Open the app