Designing a URL shortener
The classic interview system, built small and measured: where the reads go, what the cache is for, and the one decision that made everything else easy.
Longer experiments where I write down the structure, the trade-offs I made, and what I would do differently next time.
Method
Every lab entry follows the same four steps, so that two write-ups can actually be compared.
Write down the constraint first. If I cannot say what must not break, I am not ready to design anything.
At least three, including the boring one. The boring one usually wins, and admitting that early saves a week.
Enough to feel the shape of the system in a real environment rather than on a diagram.
What held, what bent, and the numbers behind both — including the ones that disagreed with me.
Entries
The classic interview system, built small and measured: where the reads go, what the cache is for, and the one decision that made everything else easy.
Next
I am always up for a conversation about architecture, trade-offs, or a bug that refuses to die.
Start a conversation