URL Shortener
The classic first system design project — a small service that hides a surprising number of real distributed-systems decisions. Build a service that takes a long URL and returns a short code that redirects back to the original, then work through ID generation, redirect performance, and read/write ratios.
A service that takes a long URL and returns a short code (like bit.ly/abc123) that redirects back to the original. Simple to describe, but the design choices around ID generation, redirect performance, and read/write ratios show up in almost every larger system you'll build later.
Core requirements: create a short link, redirect on visit, track click counts, expire links optionally.
Step 1 — Design the data model
Step 2 — Pick an ID generation strategy
Step 3 — Make redirects fast
Step 4 — Handle click tracking without blocking redirects
Secret Mission: break your own system
What you learned
Test what you just learned
Self-testing is one of the best ways to retain new skills. Unlock project quizzes to check your understanding.
Log in to unlock0 / 7 complete
