frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: pgflow – Workflows for Supabase, no external services (Postgres-first)

https://demo.pgflow.dev/
1•jumski•1h ago
Hi HN, I'm jumski. I spent last year building pgflow - a workflow orchestration engine built entirely on Supabase primitives (Postgres, Queues, Edge Functions, Realtime).

How This Started

I was transitioning to Supabase and building a personal app with multi-step LLM pipelines. I needed these to trigger from DB changes, cron, and the browser - but every workflow solution required external services.

From my Sidekiq experience, I knew that having each step handler send the next message to the queue shouldn't be part of business logic - it's error-prone and scattered. I realized I could move all orchestration to SQL - let the database decide what runs next while handlers focus purely on their task. To make this work on Supabase without external services, I created a self-respawning worker on Edge Functions to bypass time limits.

The Problem

Building workflows on Supabase today means manually wiring pg_cron schedules, pgmq queues, Edge Functions, and state tables. For a simple article processing workflow (fetch → parallel summarize + extract → publish), you're writing ~240 lines across 3 queue setups, 3 Edge Functions, 3 cron schedules. Tedious boilerplate.

What pgflow Does

Same workflow, 20 lines:

  new Flow<{ url: string }>({ slug: 'article_flow' })
    .step({ slug: 'fetchArticle' },
      (input) => scrapeUrl(input.run.url))
    .step({ slug: 'summarize', dependsOn: ['fetchArticle'] },
      (input) => summarize(input.fetchArticle))
    .step({ slug: 'extractKeywords', dependsOn: ['fetchArticle'] },
      (input) => extractKeywords(input.fetchArticle))
    .step({ slug: 'publish', dependsOn: ['summarize', 'extractKeywords'] },
      (input) => publishArticle(input.summarize, input.extractKeywords));
Flow inputs and outputs are fully type-inferred - your IDE autocompletes dependencies and catches errors at compile time. The only type annotation needed is the flow input.

You write workflows in TypeScript, compile them to SQL inserts that define your graph structure, and pgflow handles everything else. Postgres IS the orchestrator - managing a DAG of state machines, using pgmq to distribute tasks to workers. All state changes are fully transactional.

vs Alternatives

Unlike DBOS which uses decorators on imperative code, you explicitly define your DAG upfront. Unlike Trigger.dev/Inngest, everything lives in your existing Supabase project. You can query workflow state directly with SQL, and start flows from DB triggers or pg_cron.

Try It

- Demo: https://demo.pgflow.dev (paste any article URL)

- Docs: https://pgflow.dev

- GitHub: https://github.com/pgflow-dev/pgflow

Status: Beta - teams are using it in production. Fully open source, Apache 2.0 licensed.

Questions for HN:

What Supabase automations are you currently duct-taping together?

What's stopping you from using existing workflow tools?

Also curious: is SQL-based orchestration taking the "everything in the database" philosophy one step too far?

A local VM Vagrant-based playground for Ansible and distributed loads

https://gitlab.com/franlego98/netlab
1•franlego98•1m ago•0 comments

SpaceX and Musk called on to rescue China's Shenzhou-20 crew

https://www.theregister.com/2025/11/10/chinas_shenzhou_problem_shows_a/
1•Bender•1m ago•0 comments

USA Gives South Korea Green Light to Build Nuclear Submarines

https://www.navalnews.com/naval-news/2025/10/usa-gives-south-korea-green-light-to-build-nuclear-s...
1•mpweiher•2m ago•0 comments

[Video] Russia's AI robot falls seconds after being unveiled

https://www.bbc.co.uk/news/videos/crre8g5e45jo
1•martypitt•3m ago•0 comments

Due to an unforeseen naming conflict, we are renaming Project AELLA to OSSAS

https://twitter.com/samhogan/status/1988448512137457767
1•mellosouls•4m ago•0 comments

Show HN: Developer-friendly bug reports without storing sensitive data

https://defect.report
2•qa-guy•7m ago•0 comments

Chart: Even Next to Nvidia, Tesla's Valuation Looks Ludicrous

https://www.statista.com/chart/34865/price-to-earnings-ratio-of-tesla-and-other-companies/
1•ZeljkoS•7m ago•0 comments

Don't Overindex on Technical Skills

https://emeaentrepreneurs.com/anti/dont-overindex-on-technical-skills/
2•sixhobbits•8m ago•0 comments

CoMaps emerges as an Organic Maps fork

https://lwn.net/Articles/1024387/
1•altilunium•9m ago•0 comments

How to Embrace Uncertainty While Building Conviction

https://secondvoice.substack.com/p/how-to-embrace-uncertainty-while
1•jger15•10m ago•0 comments

Open Source Admin Dashboard Template

https://shadcnstore.com/templates/dashboard/shadcn-dashboard-landing-template/
1•monavb•10m ago•0 comments

Transforming AsyncStream with Swift Async Algorithms

https://tanaschita.com/swift-async-algorithms-asyncstream/
1•maguszin•12m ago•0 comments

Programming built the tower of Babel, AI destroyed it

https://video.ethz.ch/speakers/d-infk/2025/autumn/251-0100-00L/v/PIzwcVeB3rL
1•julkali•13m ago•0 comments

In Support of Richard Stallman

https://stallmansupport.org
4•ekjhgkejhgk•14m ago•1 comments

The second life of Japan's net cafes

https://www.japantimes.co.jp/business/2025/11/03/companies/internet-cafe-tokyo-kaikatsu-club/
1•PaulHoule•14m ago•0 comments

You're a computer science major. Don't panic

https://www.nytimes.com/2025/11/12/opinion/ai-coding-computer-science.html
2•azhenley•15m ago•0 comments

All schools in England to be given AI-generated pupil attendance targets

https://www.theguardian.com/education/2025/nov/12/all-schools-in-england-to-be-given-ai-generated...
1•nickcotter•16m ago•1 comments

RBI Keeps Repo Rate Unchanged: What It Means for Your Personal Loan Rates

https://www.smfgindiacredit.com/knowledge-center/rbi-leave-repo-rate-unchanged.aspx
1•saumyaraut11•17m ago•0 comments

Star Wars Visions "Black" Shinya Ohira directed animation – the best new SW [video]

https://www.youtube.com/watch?v=_Y0i4Rb9nt8
1•Marshferm•17m ago•0 comments

iPhone Ethernet Bridge on RaspberryPi with Ubuntu Server

https://revontulet.dev/p/2025-iphone-ethernet-bridge-rpi-4-ubuntu/
1•rednafi•17m ago•0 comments

Can Talking to an AI Version of a Loved One Help You Grieve?

https://www.scientificamerican.com/podcast/episode/can-talking-to-an-ai-version-of-a-loved-one-he...
1•quapster•17m ago•0 comments

Press X to Doubt Elon Musk Will Get His Trillion Dollar Tesla Pay Package

https://tickerfeed.net/articles/elon-tesla-trillion-dollar-package
3•sethops1•17m ago•0 comments

New 'Lucifer' Bee with Devil-Like Horns Discovered in Australia

https://scienceclock.com/new-lucifer-bee-with-devil-like-horns-discovered-in-western-australia/
1•ashishgupta2209•19m ago•2 comments

What balance bikes teach us about learning

https://saigaddam.medium.com/what-balance-bikes-teach-us-about-learning-33b6f6c87016
1•ChaitanyaSai•19m ago•0 comments

Z-machine coding problems, and what to automate

https://buttondown.com/entropicthoughts/archive/z-machine-coding-problems-and-what-to-automate/
1•crescit_eundo•20m ago•0 comments

Show HN: Jsonl Viewer – Desktop app for 10M+ rows with nested flattening

https://iotdatasystems.gumroad.com/l/jsonlviewerpro_mac
1•hilti•21m ago•1 comments

.NET: Avoid Using Guid.CreateVersion7

https://gist.github.com/sdrapkin/03b13a9f7ba80afe62c3308b91c943ed
2•sdrapkin•22m ago•1 comments

Improving the UV-yeast experiment with sterile technique

https://chillphysicsenjoyer.substack.com/p/my-uv-experiment-worked
1•crescit_eundo•25m ago•0 comments

From Railway Madness to Digital Anxiety

https://worldhistory.substack.com/p/from-railway-madness-to-digital-anxiety
1•crescit_eundo•27m ago•0 comments

Nameless Menu – Digital QR Menu Platform

https://www.namelessmenu.com/
1•angelmitrov•27m ago•1 comments