CASE STUDY — SAAS / DEVELOPER TOOLStrafficwar
- YEAR
- 2026 — Present
- ROLE
- Full-Stack Developer & Solo Founder
- TEAM SIZE
- 1 person
- LINKS
- Live site ↗Code ↗
Case study by Hazem Azzam

01 — OVERVIEW
What it is
A self-hostable, multi-tenant SaaS that visualizes any API's live traffic as a real-time space battle — drop a proxy in front of your API, no SDK, no code changes.
02 — CHALLENGES
Key challenges
- 01Achieving reliable realtime at scale using only Postgres LISTEN/NOTIFY + SSE — including the transaction-pooler pitfall that silently breaks LISTEN, and keeping SSE alive through reverse proxies.
- 02Designing a minimal generic event contract rich enough to derive per-client journeys, dynamic station discovery, and idle-expiry client-side rather than shipping heavy per-hop data over the wire.
- 03Building a truly non-intrusive proxy: verbatim forwarding, SSRF safety, and a fail-open hot path guaranteeing observability never degrades the user's real traffic.
- 04Deploying a stateful, long-running Node app (not serverless) with end-to-end multi-tenant security and bounded data growth (rolling event window, LRU actor map).
03 — ACHIEVEMENTS
Key achievements
- 01Zero-instrumentation onboarding — capture real traffic with no SDK and no code changes; users just repoint an API base URL to the proxy (~5-minute setup).
- 02Realtime multi-tenant streaming with no extra infrastructure — live dashboards powered purely by Postgres LISTEN/NOTIFY over SSE, horizontally scalable without Redis or a message broker.
- 03Per-client journey replay — reconstructs and replays each client's step-by-step path (wait + service time per hop) entirely client-side from a minimal event wire.
- 04SSRF-safe, fail-open proxy — upstream origin locked to an allowlist, never follows cross-host redirects, and event emission is batched so it can never delay or alter proxied traffic.
- 05Privacy & tenant isolation by design — client identity is salted-hashed to an opaque integer, request bodies are never inspected, every query is scoped to its owner, and API keys are stored hashed and shown once.
- 06Rich product surface — live RPS/latency/error metrics, endpoint & actor leaderboards, timeline analytics, email alert rules, public read-only share links, "boss wave" mechanics, swappable visualizer skins, and audio cues.
04 — STACK
Technologies used
- React
- Next.js
- TypeScript
- Tailwind CSS
- ESLint
- Vitest
- Node.js
- PostgreSQL
- Server-Sent Events
- WebSockets
- Caddy
- Docker