Absurd In Production

April 5, 2026
Close-up of aluminum cans being filled in an automated brewery assembly line.
Photo by cottonbro studio on Pexels

Absurd is a tidy, contrarian idea: durable workflows living entirely inside Postgres, implemented as a single SQL file with thin SDKs on top. Why spin up a separate orchestration service when your database can do the heavy lifting? The system registers tasks, breaks them into checkpointed steps, and keeps every bit of state in Postgres — sleeps, waits for events, and suspended runs included. It has been reported that the design has held up in real use and that the team found the system pleasurable to work with.

How it works (short version)

At its core: absurd.sql defines stored procedures for task management, checkpoints, events, and a claim-based scheduler. SDKs (TypeScript, Python, experimental Go) make task authoring ergonomic. The original ctx.step() model evolved: beginStep()/completeStep() now lets code inspect whether a step already ran before committing a result — handy for modeling conditional logic and intentional failures. You can also spawn tasks and later fetch or await their results, which turns fire-and-forget into composable workflows.

Running in production

Over five months the project shipped multiple releases to harden real-world edges: claim handling, watchdogs to kill broken workers, deadlock prevention, lease management, event-race fixes and similar pain points. Tooling mattered: absurdctl — a CLI for schema management, migrations, queues, spawning tasks and inspecting stuck runs — proved invaluable for debugging. A small Go dashboard called Habitat gives a live view directly from Postgres, and there’s an agent integration that lets coding agents discover absurdctl-based debugging skills.

Why this matters

This isn’t flashy. No new runtime, no compiler plugin — just SQL and small language SDKs. That minimalist stance is part of the point, and it seems to be resonating beyond the original team. Want resilience without a sprawling stack? Absurd is a provocative data-point in the broader trend of treating the database as more than storage — as an execution locus. Call it vibecoding if you like; for teams tired of stitching services together, this approach looks like a surprisingly practical fit.

Sources: lucumr.pocoo.org, Lobsters