GitHub doesn't retry webhooks. So I gave my tunnel a database.
dev.to·
Because GitHub does not automatically retry failed webhook deliveries when local development environments go offline, missing events can severely disrupt testing workflows. To solve this, the author built a custom tunneling gateway called doorbell that incorporates a database to buffer incoming requests during local disconnects. When the local CLI reconnects via a single outbound TCP connection, held webhooks are delivered sequentially—oldest first—complete with latency timing metrics. To ensure reliability under load, the architecture uses strict row-claiming logic tested against concurrent requests, preventing duplicate webhook deliveries. For backend and platform engineers working with third-party webhooks, this project offers valuable lessons in designing resilient integration proxies, managing persistent event queues, and establishing fault-tolerant local development tooling.