Problems / Design a product, medium

Build Gmail

Design Gmail from an empty canvas: send mail through SMTP workers, receive and store mail with spam filtering, read the inbox from a cache, and search every message.

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: inbox (60%, read), receive (20%, write), send (10%, write), search (10%, read). Budget: $7,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 ≤ 200 ms (inbox); p99 latency ≤ 500 ms (search)
Cache flushedAt 5 s the cache on the request path is emptied, as after a restart or a bad deploy.Success ≥ 99%; p99 latency ≤ 500 ms (inbox)
Database 4× slowerAt 5 s the main database on the request path answers 4× slower for 8 s.Success ≥ 99%
Budget: $7,500/monthThe normal day's design must cost at most $7,500 a month.Cost ≤ $7,500/month

Must include

More design a product problems