Commit before acknowledgment
Authenticated ingestion persists the event and its delivery in one transaction. Idempotency is client-scoped: matching request bytes reuse the event; conflicting submissions are rejected.
GO + POSTGRESQL · OPEN SOURCE
From an accepted event to a signed webhook. Relay makes delivery durable, retries bounded, and uncertainty explicit.
Built by Luan Bonifacio. A backend engineering project, developed one verified milestone at a time.
Client token verified. Destination ownership checked.
Event + delivery saved atomically. Then HTTP 201.
Durable lease. No transaction held during HTTP.
HMAC-SHA256 · HTTPS · receiver returned 204
Example flow, not live traffic or performance data.
Total delivery budget per event
Outbound HTTP deadline
Receiver deduplication required
01 / FOLLOW THE EVENT
One Go repository, separate API and worker processes, and PostgreSQL as the durable queue. No message broker required.
Authenticate · validate · commit
Events · leases · attempts
Claim · sign · send · record
Verify signature · deduplicate
Explore illustrative outcomes. A timeout or worker crash cannot prove that the receiver did nothing.
pending → attempting → succeeded
The receiver returns 204. Relay records success. The response confirms acceptance by the receiver, not completion of its business workflow.
02 / ENGINEERING DECISIONS
Designed around failures that happen between systems, with tests for the behavior that matters.
Authenticated ingestion persists the event and its delivery in one transaction. Idempotency is client-scoped: matching request bytes reuse the event; conflicting submissions are rejected.
Public-address validation, DNS-pinned HTTPS, no redirects, and bounded request time and response size constrain the sender before it reaches a receiver.
HMAC-SHA256 signs the timestamp, stable event ID, and exact payload bytes. Destination secrets are encrypted with AES-GCM and move through explicit lifecycle states.
Durable leases and fenced completion coordinate workers. Interrupted attempts remain unknown in history. Retries consume a persisted budget, with jittered delays.
03 / PROJECT STATUS
This is an engineering portfolio, not a hosted webhook product. This domain serves the project page; the Relay API is not publicly exposed.
Authenticated destinations and ingestion, idempotency, encrypted signing keys, signed HTTPS attempts, bounded retries, and a continuous worker.
Owner-scoped delivery history, controlled replay of failed deliveries, operational metrics, and deployment hardening before public API access.
READ IT. RUN IT. TRACE IT.