Design the Whole Thing (the interview, assembled)

The capstone board of the System Design track. Every earlier board taught one box. This one takes a blank prompt, “design a URL shortener”, and shows which boxes the numbers pay for, and which ones the numbers refuse.
Before you start. You need the five things the earlier lessons built, and one clause each is enough to bring them back: a load balancer (one public address in front of many identical servers), a cache (a small fast copy of the answers people ask for most), a read replica (a second database that only answers reads), a shard (one database split across machines by key), and a log (an append-only record of things that happened). You also need to be able to multiply and divide numbers like 100 million and 86,400 in your head, badly, to one digit.