Show HN: Basehook – Webhook management system built on Postgres
1 points| mehdig10 | 2 months ago |github.com
The core idea: webhooks are stored in Postgres, grouped by thread ID and revision number. You can then consume them either:
- One by one (process every update in order)
- Buffered (skip to the latest revision, ignore outdated ones)
This is useful when you only care about the final state. Example: A Slack bot receives 5 edits to the same thread. Instead of processing all 5, you can only process the thread once and call the Slack API to fetch the full thread content once.
It works by extracting thread IDs and revision numbers from webhook payloads via configurable JSON paths, so it supports any format (Slack, GitHub, Shopify, or custom).
Built with FastAPI, React, and PostgreSQL. The UI lets you configure webhooks and view all received payloads, with the ability to re-queue if needed.
toomuchtodo|2 months ago
mehdig10|2 months ago
Since we're storing events in an intermediate collection and you consume them at your own rate, there is actually no need for this. They will just pile up until you can consume them
dmarwicke|2 months ago
mehdig10|2 months ago