explaingit

hatchet-dev/hatchet

7,141GoAudience · developerComplexity · 4/5Setup · moderate

TLDR

Hatchet is a platform for running background jobs and AI agent workflows reliably outside of web requests, with built-in retry, scheduling, rate limiting, and monitoring, available as a hosted cloud service or self-hosted with PostgreSQL.

Mindmap

mindmap
  root((repo))
    What it does
      Background jobs
      Workflow orchestration
      Retry and monitoring
    Features
      Rate limiting
      Priority queues
      Multi-tenancy
    Tech Stack
      Go
      PostgreSQL
      Docker
    Use Cases
      Queue slow tasks
      AI agent workflows
      Scheduled cron jobs
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Queue slow tasks like sending emails or generating PDFs so your web server responds instantly

USE CASE 2

Run multi-step AI agent workflows that retry automatically if a step fails

USE CASE 3

Schedule recurring background jobs using cron without a separate task scheduler

USE CASE 4

Rate-limit calls to external APIs to avoid hitting usage caps in high-volume workflows

Tech stack

GoPythonTypeScriptRubyPostgreSQLDocker

Getting it running

Difficulty · moderate Time to first run · 30min

Self-hosting requires Docker and a running PostgreSQL instance, the managed cloud service has a free tier to get started quickly.

In plain English

Hatchet is a platform for running background tasks, AI agent workflows, and other jobs that need to happen reliably outside of a normal web request. When a user submits a form or triggers an action in an app, some work is too slow or too risky to do in real time. Hatchet provides the infrastructure to queue that work, run it in the background, retry it if something fails, and monitor what happened. The platform supports applications written in Python, TypeScript, Go, and Ruby. You can use it as a hosted cloud service or run it yourself. It uses PostgreSQL, a common open-source database, as its underlying storage for both task state and observability data, which makes self-hosting more straightforward compared to systems that require separate specialized components. Hatchet handles a range of task patterns. Simple one-off jobs can be queued and either forgotten or awaited. Jobs can be triggered by schedules (like cron), by incoming events, or by webhooks from external services. For more complex scenarios, tasks can be chained into directed workflows where each step runs after the previous one completes. There are also durable execution features for long-running workflows that need to survive server restarts or temporary failures. The platform includes rate limiting (to avoid overwhelming external APIs), priority queues (so urgent jobs run before lower-priority ones), concurrency controls (to cap how many of a given job run simultaneously), and a web-based monitoring interface with alerting and logging. It also supports multi-tenancy, meaning one installation can serve multiple teams with separate data and user roles. Hatchet is available as a managed cloud service with a free tier, or can be installed locally using its command-line tool and Docker.

Copy-paste prompts

Prompt 1
I am building a Python web app and want to use Hatchet to send welcome emails in the background after signup. Show me how to define and trigger that job.
Prompt 2
My AI agent workflow has three steps that each call an external API. How do I define this in Hatchet so each step retries on failure and the next step only runs after the previous one succeeds?
Prompt 3
How do I set up a Hatchet cron job in TypeScript that runs a database cleanup function every night at 2am?
Prompt 4
I want to self-host Hatchet. Walk me through the Docker setup and what PostgreSQL configuration I need.
Prompt 5
My Hatchet jobs are hitting an external API rate limit. Show me how to configure rate limiting in Hatchet so no more than 10 jobs per minute call that API.
Open on GitHub → Explain another repo

← hatchet-dev on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.