The Problem
If you've ever integrated a payment provider, set up a CI/CD pipeline, or wired up any third-party service, you've probably used webhook.site. And if you used it recently, you noticed something: it looks and works exactly the same as it did in 2018.
No real-time updates without refreshing. No way to replay requests. No team sharing. No custom responses. It works, barely, and then you close the tab and lose everything.
I got tired of it. So I built something better.
Meet HookDebug
HookDebug is a modern, open-source webhook testing tool built with Ruby on Rails. It does everything webhook.site does, plus everything webhook.site should have added years ago.
What Makes It Different
Real-Time Updates
When a webhook hits your endpoint, you see it instantly. No polling. No refresh button. WebSockets push every request to your browser the moment it arrives. Headers, body, query params — everything shows up live.
This sounds basic, but webhook.site still makes you refresh the page. In 2024. Come on.
Request Replay
This is the feature I built HookDebug for originally. You're debugging a Stripe webhook, you trigger a payment, the webhook fires, something's wrong with your handler. On webhook.site, you have to trigger another payment. With HookDebug, you hit Replay and the exact same request fires again.
During development, I was replaying requests dozens of times per session. It completely changed my debugging workflow.
Custom Responses
Most webhook senders check the response. Stripe retries on 500s. GitHub expects a 200. Some services parse the response body.
HookDebug lets you configure exactly what comes back: status code, headers, body. Want to test how your provider handles a 503? Set it and fire away. Want to return a specific JSON payload? Done.
Team Sharing
This is where webhook.site really falls apart. You're debugging an integration with a colleague, and you both need to see the same requests. With webhook.site, you share a URL and hope for the best.
HookDebug has proper team sharing built in. Create an endpoint, share it with your team, everyone sees requests in real-time. No more Slack messages saying "hey can you trigger that webhook again, I missed it."
Dark Theme
I know, I know. But seriously — if I'm staring at webhook payloads for an hour, I don't want to burn my retinas. HookDebug has a proper dark theme that doesn't look like an afterthought.
The Tech Stack
I built HookDebug with:
- Ruby on Rails 7 — Hotwire + Turbo for the real-time UI
- ActionCable — WebSocket connections for live updates
- PostgreSQL — Request storage and search
- Tailwind CSS — For the UI (dark mode included)
- Fly.io — Deployment (single region, keeps it simple)
Rails gets a lot of flak, but for this kind of app it's perfect. Hotwire gives you real-time UI updates without writing a React app. ActionCable handles WebSockets natively. The whole thing is one app, one deploy, no separate frontend build step.
Why Open Source?
Because webhook testing tools shouldn't cost money. The core functionality is simple: receive HTTP requests, display them, let people inspect them. There's no reason this needs to be a SaaS with a $20/month plan.
HookDebug is MIT licensed. Run it locally, deploy it to your own infrastructure, fork it, whatever. The hosted version is free and will stay free.
How I Actually Use It
My typical workflow:
- Create an endpoint on HookDebug
- Point my webhook sender at it (Stripe, GitHub, whatever)
- Trigger the event
- Inspect the request in real-time
- Replay it while I fix my handler
- Configure the response to test edge cases
- Once everything works, point the webhook at my actual app
Steps 5 and 6 are where the magic is. Being able to replay and customize responses turns webhook debugging from a painful trial-and-error process into something almost enjoyable.
What's Next
I'm working on a few things:
- Request filtering and search — Find specific requests by header, body content, or status
- Webhook forwarding — Proxy requests to your local dev server (like ngrok but built-in)
- Request diffing — Compare two requests side by side
- API access — Programmatic access to your endpoints and requests
Try It
If you're tired of webhook.site's 2018 UI and missing features, give HookDebug a shot:
It's free, it's open source, and it actually works the way a modern dev tool should.
If you found this useful, consider starring the repo. It helps more than you'd think.
Top comments (0)