DROPLESSBlogDocsGitHub

Engineering blog

Reliable webhook delivery, from first principles.
The transactional outbox pattern: webhooks you can't lose
How the transactional outbox pattern guarantees you never lose a webhook — commit the event and its deliveries in one Postgres transaction, then return 2xx.
2026-06-24 · 7 min read
Postgres as a queue: SKIP LOCKED instead of Redis or Kafka
Use FOR UPDATE SKIP LOCKED to turn Postgres into a reliable job queue — no Redis, no Kafka — with crash recovery via leases and low latency via LISTEN/NOTIFY.
2026-06-24 · 9 min read
Webhook retries done right: backoff, jitter, and circuit breakers
Retry failed webhooks without hammering a struggling endpoint: exponential backoff with jitter, a dead-letter queue, and per-endpoint circuit breakers.
2026-06-24 · 8 min read
At-least-once webhooks and why idempotency keys matter
Exactly-once delivery is a myth over a network. Here's what at-least-once really means and how an idempotency key lets receivers dedupe safely.
2026-06-24 · 7 min read
Verifying inbound webhooks: Stripe, GitHub, and HMAC
Securely verify incoming webhooks with HMAC-SHA256, constant-time comparison, timestamp tolerance, and replay protection — covering Stripe and GitHub.
2026-06-24 · 7 min read
Proving crash-safety with a real kill -9 test
Most systems claim durability but never test it. Here's a kill -9 test that proves a webhook pipeline loses zero events across a crash.
2026-06-24 · 7 min read
Dropless is open source (AGPL-3.0) — github.com/r4nd0mENRYU/dropless.