Beginner

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.

~4h
0 / 7 steps
🚀
Intro

What you're building

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

Secret Mission: break your own system

🧹
Wrap Up

What you learned

Pro

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 unlock