🔗URL Shortener
0 nodes · 0 edgesHint 1 — locked
Hint 2 — locked
Hint 3 — locked
🔗
URL Shortener
● Beginner15–25 min
Problem
Build a URL shortening service like bit.ly. Users submit a long URL and receive a short alias (e.g. bit.ly/xK9a). When someone visits the short URL they are redirected to the original. The service must handle millions of redirects per day with very low latency.
Functional Requirements
- Shorten a given long URL to a unique short code
- Redirect short code to the original URL (< 50 ms p99)
- Allow custom aliases (optional)
- Track click analytics per short URL
- Expire short URLs after a configurable TTL
Non-Functional
- 100M new URLs created per day
- 10B redirects per day (read-heavy: ~100:1 read/write ratio)
- 99.99% availability — redirection must never be down
- Horizontally scalable — no single points of failure
🔗
Design your URL Shortener
Drag components from the Brief panel → switch to Components tab
Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.
UML
15
Needs Work
Click a dimension to see what's missing. Score updates as you design.
Speed
RPS
Hit Play to start simulation00:00