Launch HN: Convoy (YC W22) – Open-source cloud-native webhooks service

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • convoy

    The Cloud Native Webhooks Gateway

  • Hi HN, we’re Subomi and Emmanuel, founders of Convoy (https://getconvoy.io). Convoy is an open-source webhooks service. We make it easy for developers to publish webhooks like Stripe and Twilio. Convoy is cloud-native so developers can deploy the container to wherever they host their applications.

    Some time ago I built an API for local fintech companies alongside Emmanuel. While trying to sell this product, we were asked several times for webhooks. We didn't find a great tool that was easy to use, language-agnostic and cloud-native; something that could scale independently of our core service. We decided to build it ourselves.

    Webhooks are the glue of the modern internet. I like to say it as if you make a payment on Shopify with Stripe’s checkout and Stripe fails to send a webhook event to Shopify’s servers about your payment, you won’t get a delivery of your package even though your card has been debited. This explains the importance of webhook events to many consumer apps. Webhooks are used for asynchronous communication by API providers to notify apps/integrators about an event that occurred in their account.

    Today, implementing a webhooks delivery system is a highly fragmented problem. Stripe's system is designed for security (with features like replay attacks, rolling secrets etc), Twilio for performance(with features like connection override), Pagerduty for flexibility(with features like payload filtering) and many more. We'd love to make these features available to everyone with Convoy. We're already helping a few companies solve problems they didn't know they had because of the visibility Convoy gives.

    API providers need to push webhook events reliably. It’s a pain to build this from scratch. At first glance, it seems like a good old HTTP Post, but with time it becomes more nuanced as the requirements pile up: dealing with bad endpoints, pushing events to multiple endpoints as configured by your user, rate-limiting of customer endpoints, security of delivery, UX for managing retries. We take care of all that and give you one less infrastructure to worry about.

    Convoy is open-source software that exposes a REST API. Developers push events to it using the REST API(we aim to support other means of ingesting data in the future for high volume environments – this is a feature Shopify provides today) then we sign the payload, publish the events, apply retries, etc. We also provide a management UI to manually retry events to user endpoints.

    Convoy consists of 3 core components—in addition to the REST API, there is a job queue and a storage layer. The REST API server is used to create applications, endpoints and events. The job queue currently supports 2 backends: in-memory and Redis. The storage layer currently supports 2 backends: on-disk and MongoDB. All events pushed to Convoy are saved to storage and enqueued on the job queue for workers to deliver.

    Most of our users use our product to push webhook events to their customers’ endpoints. Customers also use Convoy as a broker for inter-service communication.

    We make money by providing a managed service. We've been running the managed service for a while now and charge $1/5k events, but those details are not on our website yet.

      The repository is available at https://github.com/frain-dev/convoy and a getting started doc exists here: https://getconvoy.io/docs/guide. Anyone can download the binary or Docker image from here: https://getconvoy.io/download and run it wherever they choose - AWS, Azure, GCP, etc.

  • svix-webhooks

    The enterprise-ready webhooks service 🦀

  • There's also Svix which is based on Postgres and has been around for a while. https://github.com/svix/svix-webhooks

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • pg-boss

    Queueing jobs in Node.js using PostgreSQL like a boss

  • Both! For context, we're currently using https://github.com/timgit/pg-boss as a task queue on top of postgres and it works great. No need to complicate things with Redis. I believe it's quite straightforward to implement a task queue on top of postgres using the SKIP LOCKED functionality.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts