← All work SELECTED WORK / 07

FlowRelay

Independent project · Live interactive demo

Webhook workflow monitor

An independent capability project using fictional events and controlled Sandbox destinations. V3 offers a read-only historical Sample and private 24-hour demo spaces. In your own space, send a signed event through the real receipt, outbox, queue, routing and worker pipeline, inspect delivery attempts and retries, and recover a failure through Replay or an audited operator decision. All downstream requests remain inside the controlled Sandbox; no arbitrary external destinations or real email delivery are available. Sample records are historical fixtures, not live client traffic or performance results.

View demo ↗

FlowRelay V3 Event Execution and Recovery view showing a marked-delivered sample, retained uncertainty and the execution pipeline
Role
Interface implementation / Full-stack development / Controlled demo deployment
Type
Webhook workflow monitor
Status
Independent project · Live interactive demo
Year
2026
Link
flowrelay.jonho.dev ↗

01

Understand

Follow a signed event through real execution.

Test Lab in a personal DemoSpace sends a signed fictional event into the actual backend. A durable PostgreSQL receipt and transactional outbox feed Redis Streams; versioned routing selects the controlled Sandbox destination and a worker records each delivery attempt. The event execution view ties those stages to a single inspectable trace.

02

Trust

Keep confirmed outcomes and uncertainty distinct.

Delivery attempts retain response evidence, retry timing and transport uncertainty. A reset after acceptance can produce NEEDS_REVIEW instead of an automatic retry that might repeat a side effect. An operator can mark delivery with an appended audit record while the original UNKNOWN_OUTCOME attempt remains visible. The read-only Sample illustrates these states with historical fictional records.

03

Act

Recover without rewriting the original execution.

Controlled Sandbox scenarios demonstrate successful delivery, retryable failures and permanent failures. Replay creates a new execution with lineage back to the original; a manual outcome decision adds an audit entry. Role checks, idempotency and workspace isolation govern those actions, while quotas and a 24-hour expiry bound the personal demo.

a closer look.

Desktop FlowRelay V3 Event Execution view showing a fictional marked-delivered outcome, retained unknown-outcome evidence and execution stages
Desktop — Event Execution / Recovery

A real 8 October 2026 HTTPS capture of the read-only historical Sample. The marked-delivered state remains distinct from the original unknown outcome; personal spaces enable real Sandbox execution and audited recovery.

Mobile FlowRelay V3 Event Execution view showing a fictional marked-delivered outcome, retained unknown-outcome evidence and execution stages
Mobile — Event Execution / Recovery

A real 8 October 2026 HTTPS capture of the read-only historical Sample. The marked-delivered state remains distinct from the original unknown outcome; personal spaces enable real Sandbox execution and audited recovery.

behind
the pages.

  • Next.js and TypeScript interface, Java 21 / Spring Boot API and worker, PostgreSQL with Flyway, Redis Streams and an internal Caddy gateway. The public V3 runtime includes the genuine worker and controlled Sandbox.
  • Signed webhook ingress records durable receipts and deduplication. A transactional outbox publishes queued work, versioned rules route events, and workers persist delivery attempts, retries and dead-letter outcomes.
  • Replay produces a new execution with preserved lineage. Idempotency keys and server-side role checks prevent duplicate recovery commands from silently repeating the same decision.
  • Ambiguous transport outcomes require review. Mark Delivered appends an operator audit decision without replacing the earlier unknown attempt; confirmed responses and uncertainty remain separately inspectable.
  • Server-selected sessions, same-origin CSRF checks and object authorization isolate personal DemoSpaces. Admission and action quotas bound the public workflow; spaces expire after 24 hours.
  • Connections are limited to the controlled Sandbox. The shared Sample is a read-only historical fixture; personal spaces execute real network requests only to that Sandbox, with arbitrary external delivery and email disabled.
  • Source Sans 3 and Source Code Pro font notices and component terms are retained. This capability project uses fictional data and makes no claim of real client throughput, production performance or a vulnerability-free runtime.

Inspect the read-only historical Sample, or send a signed event and explore execution, retry and recovery in your own private 24-hour space. Downstream delivery is limited to the controlled Sandbox; no real email is sent.

View demo ↗