{"slug": "absurd", "name": "Absurd", "category": "databases", "category_name": "Databases", "description": "", "recommenders": 4, "commenters": 8, "warners": 0, "score": 3.923, "rising": -1.31, "first": "2025-11-03", "latest": "2026-08-09", "why": "", "why_is_quote": false, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 3, "compare": 1, "warn": 0}, "spark": [1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "", "kind": "", "icon": true, "domain": null, "github_repo": "github.com/earendil-works/absurd", "official_url": "https://github.com/earendil-works/absurd", "pricing": "", "aliases": ["Absurd", "absurd"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 778671107, "item_id": 48666944, "url": "https://news.ycombinator.com/item?id=48666944", "by": "dewey", "date": "2026-06-24", "version": null, "stance": "recommend", "quote": "There's great projects like", "excerpt": "> There are lots of purpose-built bullet proof queuing systems that are simple to setup and administer (or just use SQS). Because in 99% of cases you don't need a purpose built solution (Even if engineers often think that) at the scale that most people operate in. Nothing is easier to setup and administer than the database you already use. We are using Postgres as a worker queue in production for many years, with mil", "context": "", "use_case": "", "switched_from": "", "story": "PostgreSQL Is Enough"}, {"id": 773057666, "item_id": 48316104, "url": "https://news.ycombinator.com/item?id=48316104", "by": "nzoschke", "date": "2026-05-28", "version": null, "stance": "recommend", "quote": "which is also Postgres and even simpler than DBOS", "excerpt": "I do love Postgres and DBOS. I also recently started experimenting with https://github.com/earendil-works/absurd which is also Postgres and even simpler than DBOS. Their comparison is a great read: https://earendil-works.github.io/absurd/comparison/ But for operational reasons I've started using sqlite for durable workflows instead. Porting the database concepts from either DBOS or absurd PG to SQLite is remarkably e", "context": "", "use_case": "durable workflows on Postgres", "switched_from": "", "story": "Just Use Postgres for Durable Workflows"}, {"id": 763022193, "item_id": 47688887, "url": "https://news.ycombinator.com/item?id=47688887", "by": "ramkarthikk", "date": "2026-04-08", "version": null, "stance": "recommend", "quote": "which is also an interesting project", "excerpt": "Been following Mario and Armin (much longer), and this is a good move for all parties involved. Would have been bad if Pi went the same direction as RoboVM (mentioned in the post). Earendil, as a company, is not clear for me yet but one of the projects Armin is working on that's part of this is Absurd[0], which is also an interesting project. Absurd, like Pi, is minimal and let's you have full control. [01] - https:/", "context": "", "use_case": "", "switched_from": "", "story": "I've Sold Out"}, {"id": 736132784, "item_id": 46008299, "url": "https://news.ycombinator.com/item?id=46008299", "by": "the_mitsuhiko", "date": "2025-11-21", "version": null, "stance": "recommend", "quote": "I'm greatly enjoying using it", "excerpt": "I think this is great. We should see more simple solution to this problem. I recently started doing something very similar on Postgres [1] and I'm greatly enjoying using it. I think the total solution I ended up with is under 3000 lines of code for both the SQL and the TypeScript SDK combined, and it's much easier to use and to operate than many of the solutions on the market today. [1]: https://github.com/earendil-w", "context": "", "use_case": "Durable execution on Postgres", "switched_from": "", "story": "Building a Durable Execution Engine with SQLite"}, {"id": 733270576, "item_id": 45829411, "url": "https://news.ycombinator.com/item?id=45829411", "by": "rodmena", "date": "2025-11-05", "version": null, "stance": "recommend", "quote": "I think it's a brilliant idea.", "excerpt": "I think it's a brilliant idea. Absurd can be a very good match to highway_dsl as well (which is a domain-specific-language, for workflows) https://github.com/rodmena-limited/highway_dsl?tab=readme-ov-file#conditional-logic", "context": "", "use_case": "", "switched_from": "", "story": "Absurd Workflows: Durable Execution with Just Postgres"}]}], "caveats": [], "who": [{"by": "jraedisch", "context": "just started getting into the topic", "url": "https://news.ycombinator.com/item?id=48414723", "date": "2026-06-05"}], "tags": [], "use_cases": ["durable execution on postgres", "durable workflows on postgres", "durable workflow execution"], "compared": [{"slug": "postgresql", "name": "PostgreSQL", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "sqlite", "name": "SQLite", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 736158929, "item_id": 46009933, "url": "https://news.ycombinator.com/item?id=46009933", "by": "the_mitsuhiko", "date": "2025-11-21", "version": null, "stance": "recommend", "quote": "absurd does the state storage.  I wrote some more about why it exists here", "excerpt": "I think pgqueuer is like pgmq which I used a lot. pgmq is just the queue part, absurd does the state storage. I wrote some more about why it exists here: https://lucumr.pocoo.org/2025/11/3/absurd-workflows/", "context": "", "use_case": "durable workflow execution", "switched_from": "", "story": "Building a Durable Execution Engine with SQLite"}], "threads": [{"url": "https://news.ycombinator.com/item?id=45797228", "title": "Absurd Workflows: Durable Execution with Just Postgres", "mentions": 4}, {"url": "https://news.ycombinator.com/item?id=48313530", "title": "Just Use Postgres for Durable Workflows", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=45992316", "title": "Building a Durable Execution Engine with SQLite", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=49233423", "title": "Ask HN: What are you working on? (August 2026)", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48666433", "title": "PostgreSQL Is Enough", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48414367", "title": "pg_durable: Microsoft open sources in-database durable execution", "mentions": 1}], "sentiment_by_month": {"2025-11": {"neutral": 1, "recommend": 1}, "2025-12": {}, "2026-01": {}, "2026-02": {}, "2026-03": {}, "2026-04": {"recommend": 1}, "2026-05": {"compare": 1, "recommend": 1}, "2026-06": {"neutral": 1, "recommend": 1}, "2026-07": {}, "2026-08": {"neutral": 1}, "2026-09": {}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 787780272, "item_id": 49236267, "url": "https://news.ycombinator.com/item?id=49236267", "by": "nbbaier", "date": "2026-08-09", "version": null, "stance": "neutral", "quote": "Reminds me a bit of https://github.com/earendil-works/absurd", "excerpt": "Reminds me a bit of https://github.com/earendil-works/absurd", "context": "", "use_case": "", "switched_from": "", "story": "Ask HN: What are you working on? (August 2026)"}, {"id": 778671107, "item_id": 48666944, "url": "https://news.ycombinator.com/item?id=48666944", "by": "dewey", "date": "2026-06-24", "version": null, "stance": "recommend", "quote": "There's great projects like", "excerpt": "> There are lots of purpose-built bullet proof queuing systems that are simple to setup and administer (or just use SQS). Because in 99% of cases you don't need a purpose built solution (Even if engineers often think that) at the scale that most people operate in. Nothing is easier to setup and administer than the database you already use. We are using Postgres as a worker queue in production for many years, with mil", "context": "", "use_case": "", "switched_from": "", "story": "PostgreSQL Is Enough"}, {"id": 774635568, "item_id": 48414723, "url": "https://news.ycombinator.com/item?id=48414723", "by": "jraedisch", "date": "2026-06-05", "version": null, "stance": "neutral", "quote": "Absurd (by the Pi LLM harness devs) minimizes the pure db approach as much as possible.", "excerpt": "If understanding correctly, Absurd (by the Pi LLM harness devs) minimizes the pure db approach as much as possible. I only just started getting into the topic myself, though. https://github.com/earendil-works/absurd", "context": "just started getting into the topic", "use_case": "durable execution on Postgres", "switched_from": "", "story": "pg_durable: Microsoft open sources in-database durable execution"}, {"id": 773057666, "item_id": 48316104, "url": "https://news.ycombinator.com/item?id=48316104", "by": "nzoschke", "date": "2026-05-28", "version": null, "stance": "recommend", "quote": "which is also Postgres and even simpler than DBOS", "excerpt": "I do love Postgres and DBOS. I also recently started experimenting with https://github.com/earendil-works/absurd which is also Postgres and even simpler than DBOS. Their comparison is a great read: https://earendil-works.github.io/absurd/comparison/ But for operational reasons I've started using sqlite for durable workflows instead. Porting the database concepts from either DBOS or absurd PG to SQLite is remarkably e", "context": "", "use_case": "durable workflows on Postgres", "switched_from": "", "story": "Just Use Postgres for Durable Workflows"}, {"id": 773028720, "item_id": 48314295, "url": "https://news.ycombinator.com/item?id=48314295", "by": "llimllib", "date": "2026-05-28", "version": null, "stance": "compare", "quote": "I've not used it, but it's worth comparing to other options", "excerpt": "Armin Ronacher's `absurd` is an implementation of durable workflows for postgres: https://lucumr.pocoo.org/2025/11/3/absurd-workflows/ https://github.com/earendil-works/absurd https://earendil-works.github.io/absurd/ I've not used it, but it's worth comparing to other options", "context": "", "use_case": "", "switched_from": "", "story": "Just Use Postgres for Durable Workflows"}, {"id": 763022193, "item_id": 47688887, "url": "https://news.ycombinator.com/item?id=47688887", "by": "ramkarthikk", "date": "2026-04-08", "version": null, "stance": "recommend", "quote": "which is also an interesting project", "excerpt": "Been following Mario and Armin (much longer), and this is a good move for all parties involved. Would have been bad if Pi went the same direction as RoboVM (mentioned in the post). Earendil, as a company, is not clear for me yet but one of the projects Armin is working on that's part of this is Absurd[0], which is also an interesting project. Absurd, like Pi, is minimal and let's you have full control. [01] - https:/", "context": "", "use_case": "", "switched_from": "", "story": "I've Sold Out"}, {"id": 736132784, "item_id": 46008299, "url": "https://news.ycombinator.com/item?id=46008299", "by": "the_mitsuhiko", "date": "2025-11-21", "version": null, "stance": "recommend", "quote": "I'm greatly enjoying using it", "excerpt": "I think this is great. We should see more simple solution to this problem. I recently started doing something very similar on Postgres [1] and I'm greatly enjoying using it. I think the total solution I ended up with is under 3000 lines of code for both the SQL and the TypeScript SDK combined, and it's much easier to use and to operate than many of the solutions on the market today. [1]: https://github.com/earendil-w", "context": "", "use_case": "Durable execution on Postgres", "switched_from": "", "story": "Building a Durable Execution Engine with SQLite"}, {"id": 734139664, "item_id": 45883729, "url": "https://news.ycombinator.com/item?id=45883729", "by": "rodmena", "date": "2025-11-10", "version": null, "stance": "neutral", "quote": "here is the Python Client for Absurd", "excerpt": "And here is the Python Client for Absurd: https://python-absurd-client.readthedocs.io/en/latest/quickstart.html", "context": "", "use_case": "durable workflows on Postgres", "switched_from": "", "story": "Absurd Workflows: Durable Execution with Just Postgres"}, {"id": 733690976, "item_id": 45855686, "url": "https://news.ycombinator.com/item?id=45855686", "by": "rodmena", "date": "2025-11-08", "version": null, "stance": "neutral", "quote": "FYI. Highway DSL now fully supports Absurd.", "excerpt": "FYI. Highway DSL now fully supports Absurd. Specs: https://github.com/rodmena-limited/highway_dsl/blob/main/spec.txt#L39", "context": "", "use_case": "Durable execution on Postgres", "switched_from": "", "story": "Absurd Workflows: Durable Execution with Just Postgres"}, {"id": 733270576, "item_id": 45829411, "url": "https://news.ycombinator.com/item?id=45829411", "by": "rodmena", "date": "2025-11-05", "version": null, "stance": "recommend", "quote": "I think it's a brilliant idea.", "excerpt": "I think it's a brilliant idea. Absurd can be a very good match to highway_dsl as well (which is a domain-specific-language, for workflows) https://github.com/rodmena-limited/highway_dsl?tab=readme-ov-file#conditional-logic", "context": "", "use_case": "", "switched_from": "", "story": "Absurd Workflows: Durable Execution with Just Postgres"}, {"id": 732761136, "item_id": 45797571, "url": "https://news.ycombinator.com/item?id=45797571", "by": "oulipo2", "date": "2025-11-03", "version": null, "stance": "neutral", "quote": "Ah, got it, it throws Exception in order to stop the task each time", "excerpt": "Ah, got it, it throws Exception in order to stop the task each time https://github.com/earendil-works/absurd/blob/main/sdks/typescript/src/index.ts#L312", "context": "", "use_case": "durable workflow execution", "switched_from": "", "story": "Absurd Workflows: Durable Execution with Just Postgres"}]}