Problems / Design a product, medium

Build an API rate limiter service

Design an API rate limiter from an empty canvas: per-client counters in memory in front of an API, adding only milliseconds, and stopping abusive clients before they reach it.

Unlock it once for 15 credits; everything inside it is free (runs, changes, Submit, results, hints). Sign in with Google to start; new accounts get free credits.

What it must do

Scale

Request types to route: read (80%, read), write (20%, write). Budget: $3,500 a month.

Estimate first

The test cases

You start from an empty canvas. When you run the tests, each one simulates your design with its own traffic and failures:

TestWhat it doesPasses when
Normal dayThe normal day: the traffic in the brief, nothing broken.Success ≥ 99.9%; p99 latency ≤ 40 ms (read); p99 latency ≤ 50 ms (write)
Peak: 2× trafficAt 5 s real traffic doubles for 8 s: every client is busy, none is over its quota.Success ≥ 99.5%; p99 latency ≤ 50 ms (read)
ScrapersAt 5 s 4,000 requests a second of scraping traffic arrive for 10 s, alongside real users.Attack blocked ≥ 85%; Success ≥ 99%
A server diesAt 4 s one server of the first app service on the request path dies for 10 s.Success ≥ 99%
Budget: $3,500/monthThe normal day's design must cost at most $3,500 a month.Cost ≤ $3,500/month

Must include

More design a product problems