Skip to content

Instantly share code, notes, and snippets.

@nathancahill
Last active November 15, 2025 00:59
Show Gist options
  • Select an option

  • Save nathancahill/952fbed88265d995248d40fbf7eac9f7 to your computer and use it in GitHub Desktop.

Select an option

Save nathancahill/952fbed88265d995248d40fbf7eac9f7 to your computer and use it in GitHub Desktop.

OpenWorkflow x PocketBase

Ideal pair for a minimal workflow backend and dashboard. PocketBase is "an open-source backend in 1 file", running on sqlite with a single Go executable. The OpenWorkflow spec provides the missing background job/queue piece.

The PocketBase client can be extended to implement the OpenWorkflow backend:

import PocketBase from "pocketbase";
import { OpenWorkflow } from "openworkflow";

const pb = new PocketBase("http://127.0.0.1:8090");
const ow = new OpenWorkflow({ backend: pb.workflows });

const sendWelcomeEmail = ow.defineWorkflow(...)

pb.workflows

pb.workflows is a full implementation of the OpenWorkflow backend interface.

SQLite backend schema

Workflows are backed by the PocketBase .sqlite database using the same schema as @openworkflow/backend-sqlite, allowing interop.

Admin dashboard

PocketBase ships with an admin interface (frontend SPA). It can be extended to include a Workflows interface for monitoring workflows, pulling data from the OpenWorkflow client over HTTP:

Screen.Recording.2025-11-14.at.2.22.32.PM.mov
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment