Problems / Design a product, hard

Build Dropbox / Google Drive file sync

Design Dropbox from an empty canvas: chunked uploads to object storage, file metadata in a database, change notifications to the user’s other devices, and downloads, at 2,000 requests a second.

Unlock it once for 25 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: sync (50%, read), upload (20%, write), download (30%, read). Budget: $6,000 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 ≤ 50 ms (sync); p99 latency ≤ 400 ms (upload); p99 latency ≤ 300 ms (download)
Monday morningAt 5 s everyone opens their laptop: traffic doubles for 8 s.Success ≥ 99%; p99 latency ≤ 100 ms (sync)
Database 5× slowerAt 5 s the main database on the request path answers 5× slower for 8 s.Success ≥ 99%; p99 latency ≤ 65 ms (sync)
A server diesAt 4 s one server of the first app service on the request path dies for 10 s.Success ≥ 99%
Budget: $6,000/monthThe normal day's design must cost at most $6,000 a month.Cost ≤ $6,000/month

Must include

More design a product problems