Hey HN - over the past few months, I’ve been working on Hatchet, which is a workflow engine for Go applications. In particular, the goal is to make it easier to build event-based systems — workflows are triggered by user-defined events (along with predefined schedules and cron jobs).
Docs: https://docs.hatchet.run
And a quickstart repo: https://github.com/hatchet-dev/hatchet-go-quickstart
TL;DR - Hatchet lets you:
1. Schedule and run your Go methods, useful for background jobs and batch processing
2. Publish, react to, and query events using the Events API [1]
3. Replace your task queue (internally, Hatchet uses RabbitMQ, with support for a more lightweight Postgres-based task queue on the roadmap)
There's lots still to build, but would love to hear any feedback so far.
[1] https://docs.hatchet.run/go-sdk/pushing-events