Open SystemDecoder on a larger screen to build systems, run simulations, and inject chaos.
What's waiting for you on desktop
Live Simulations
Watch latency spike, queues fill, and nodes fail in real time. Every slider change is instant.
Visual Architecture Canvas
Drag nodes, draw edges, and build any distributed system topology from scratch.
Chaos Engineering
Kill servers, introduce packet loss, throttle CPUs — and watch your system react.
Real-time Insights
Throughput, p99 latency, error rates — all charted live as your simulation runs.
40+
Concepts
<1s
Feedback
∞
Replays
"The best way to understand a distributed system
is to break it."
URL Shortener
🔗
short.ly/abc123 →
https://verylongdomain.com/very/long/path?with=params
URLs can be hundreds of characters long — ugly, untrackable, and impossible to share in SMS or tweet limits.
A URL shortener maps a long URL to a short code, stores the mapping, and transparently redirects visitors.
Request Flow
User shortens a URL
POST /shorten with the long URL → API generates a short code → returns https://short.ly/abc123
POST /shorten
{ "url": "https://verylongdomain.com/article?id=12345" }
→ 201 Created
{ "short_url": "https://short.ly/abc123" }Someone clicks the short link
Browser visits https://short.ly/abc123 → GET /abc123 → server looks up the code → returns 302 redirect → browser follows to original URL
GET /abc123 → 302 Found Location: https://verylongdomain.com/article?id=12345
Why We Need This
The architecture challenge is not the shortening — it is the redirect performance.
For every 1 URL created, it might be clicked 10,000 times. The GET /:code path must handle millions of reads per second, under 50ms.
Key Insight
The core challenge: generate unique short codes, handle 100:1 read/write ratio, and redirect millions of lookups per second — all under 50ms.
Overview