"Durable execution" means workflows that survive crashes, restarts and deploys — the state is persisted, so a job halfway through a 12-step pipeline picks up where it left off. Three tools, three philosophies.
| Entry | Model | Self-host | |
|---|---|---|---|
| Trigger.dev | Free; Hobby $10/mo; Pro $50/mo + usage | you write TypeScript tasks, they run the infra | yes — Apache 2.0, free |
| Inngest | Free; then $75–$300/mo + usage | event-driven, calls your existing deployment over HTTP, no workers | no |
| Temporal | Temporal Cloud ~$200/mo floor; $25 per 1M actions | you run workers that poll a cluster | yes — the hard way |
Temporal is the heavyweight — the durable-execution engine that the big infrastructure companies use. It's language-agnostic (Go, Java, Python, TypeScript, more), battle-tested at massive scale, and it requires you to run and operate worker processes that poll a cluster, either self-hosted (a real ops project) or on Temporal Cloud (~$200/month minimum, then $25 per million "actions"). Pick it when you have complex, long-running, mission-critical workflows and the engineering capacity to run it properly.
Inngest removes the worker layer entirely — it invokes your existing serverless functions or app over HTTP when events fire, so there's nothing extra to deploy. Pricing starts free, then $75–300/month plus execution volume. The sweet spot for teams that want durable multi-step workflows without operating infrastructure.
Trigger.dev is the developer-experience pick for TypeScript teams: write tasks as normal TS functions, get retries, scheduling, concurrency control and observability, and either use their cloud (Free / $10 Hobby / $50 Pro, plus metered compute) or self-host the Apache-2.0 codebase for free.
TypeScript shop wanting the nicest DX: Trigger.dev. Want event-driven workflows with zero infra: Inngest. Large-scale, polyglot, mission-critical orchestration: Temporal.