Skip to content
Get started

A Svix alternative without a separate service ​

Svix is a good webhook service. If you'd rather not add a vendor or run another server, and your app is Node.js on Postgres, Hookgres gives you the sending side as a library that uses your existing database.

How they differ ​

HookgresSvix
What it isA TypeScript libraryA hosted API, or a self-hosted Rust server
Where it runsYour app, your PostgresTheir cloud, or your server plus Postgres (Redis optional)
Part of your database transactionYesNo, a separate API call
SignaturesStandard WebhooksStandard Webhooks
RetriesAbout 28 hours, configurableYes
Delivery logRows in your databaseIn their dashboard and API
Customer portalBuild on the delivery logIncluded
PriceFree, MITFree tier, then per message or plan
LanguagesNode.js / TypeScriptSDKs for many languages

When Svix is the better choice ​

  • You want a hosted customer portal today.
  • Your backend isn't Node.js, or several services in different languages send webhooks.
  • You'd rather not have webhook traffic touch your database.

When Hookgres is the better choice ​

  • You want webhooks to commit with your data, with no outbox to build. With any external service, a crash between "saved" and "sent" loses the event.
  • You don't want another service, vendor or subprocessor. Payloads and logs stay in your database.
  • You want to query deliveries with SQL, for support or a customer-facing log.

Switching ​

Both use Standard Webhooks signatures and whsec_ secrets, so receivers keep working. The migration guide maps every concept and call.

sh
npm install hookgres pg

Next: Getting started.

Released under the MIT License.