Things I built that actually run.

Each tile below runs against a real backend I deployed. No sandbox, no fake data. Open one, click around, and you're hitting actual code.

11 live
EXP_01 · Crucible LIVE

Crucible

Browser-based system design simulator. Drag a 23-kind component catalog onto a canvas, wire it up, drive 1→1M rps, inject chaos, watch live p50/p99 latency, throughput, queue depth, and error rate per node. Architectures actually run: Go simulation engine compiled to ~200 KB of TinyGo WASM, hosted in a Web Worker, driving a SvelteKit 2 + Svelte 5 (runes) + @xyflow/svelte canvas. No server, no SSR, deployed static to Vercel.

  • Hybrid scheduler: event-driven sim clock (min-heap, no idle ticks) + fixed-cadence render clock (~33 ms) in the Web Worker — two ceilings (wall budget, event cap) cover runaway producer and runaway sim time
  • Deterministic by construction: PCG32 RNG seeded once, min-heap ordered by (time, seq), integer-ns clock — same seed + same topology = identical byte-for-byte run, enabling share-replay
  • 23-kind component catalog mapped onto 6 engine archetypes (source · loadbalancer · service · cache · database · queue) via `engineKind`, all behind one `Node` interface
  • Live per-node metrics: throughput, p50/p99 latency, in-flight, queue depth, error rate, sparklines — 512-sample ring buffer with insertion-sort percentile and a 10 × 100 ms sliding throughput window
STACK
Go · TinyGo · WASM · SvelteKit · Svelte 5
HOST
crucible-nu.vercel.app
TYPE
Tools