← ALL SYSTEMS
SYS.07 · OSSSTATUS OSS

replay

Webhook capture & replay CLI

SPECSYS.07
Stack
  • Go
  • or Node + TS
Metric
open-source · single-binary CLI
Links

Problem

Developing against webhooks is miserable: you can’t easily reproduce the exact payload that broke, and tunnelling every event to localhost is slow and flaky. replay is the small, sharp CLI that fixes the loop — capture once, replay forever.

Approach

Record incoming webhooks to a local, human-readable capture file. Replay any captured event (or a whole session) against your local server, with headers and signatures preserved so signature verification still passes.

# capture live webhooks to a file, then replay the one that broke
replay record --out session.jsonl --forward localhost:3000
replay play session.jsonl --only 'evt_1a2b' --to localhost:3000

What I built

A single self-contained binary (Go), zero-config for the common case, with a capture format that’s just newline-delimited JSON — greppable, diffable, check-into-the-repo-able.

Hard parts

  • Deterministic replay — same bytes, same headers, same signature, every time.
  • Recording format — readable and stable enough to commit as a fixture.
  • Zero-config DX — it should be useful in the first thirty seconds.

Outcome

The webhook edit-run-debug loop drops from minutes to seconds, and the payload that caused a bug becomes a committed regression fixture instead of a lost screenshot.

Open-source — repo link is a placeholder until release.