Beginner45 min

URL Shortener at Scale

The URL shortener is the quintessential system design interview question, and for good reason — it touches on hashing strategies, database selection, read-heavy workload optimization, and horizontal scaling. In this challenge, you will design a service that accepts long URLs and returns short, unique aliases, then redirects users with sub-10ms latency. You will evaluate trade-offs between hash collision strategies (base62 encoding vs. pre-generated key pools), choose between DynamoDB and ElastiCache for the redirect lookup layer, and implement a cache-aside pattern using CloudFront and ElastiCache to handle bursty read traffic. The architecture must support analytics tracking (click counts, referrers, geo data) without adding latency to the redirect path. You will also design the expiration and cleanup strategy for short URLs using DynamoDB TTL and Lambda-based garbage collection. This challenge teaches you to think about read/write ratio optimization, consistent hashing, and the real cost implications of different storage tiers on AWS.

AWS Services You'll Use

API GatewayLambdaDynamoDBElastiCacheCloudFront

Challenge Details

Path
System Design Fundamentals
Difficulty
Beginner
Duration
45 min
Plan
Starter

Architecture Patterns You'll Learn

cache-asideconsistent hashingread replicaTTL-based expiration

Why This Challenge?

Unlike whiteboard exercises or multiple-choice quizzes, this challenge requires you to design a real architecture with actual AWS services, evaluate trade-offs, and defend your decisions. Our automated validators check your design against production-grade criteria. Complete it and it shows up in your verified portfolio with your architecture diagram and design rationale.

Ready to design this for real?

Get the full scenario, design your architecture using real AWS services, and validate against production-grade criteria. Your completed challenge shows up in your verified portfolio.

Start Challenge