FlowRelay
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.
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.
04 / Visual screens
a closer look.
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.
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.
05 / Build notes
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 ↗