Hazem Azzam.

CASE STUDY — SAAS / DEVELOPER TOOLStrafficwar

YEAR
2026 — Present
ROLE
Full-Stack Developer & Solo Founder
TEAM SIZE
1 person

Case study by Hazem Azzam

trafficwar - Image 1

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

  1. 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.
  2. 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.
  3. 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.
  4. 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

  1. 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).
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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