finds.dev← search

// the find

sidequestjs/sidequest

★ 1,005 · TypeScript · LGPL-3.0 · updated Jul 2026

Redis-free background jobs for Node.js. Persist jobs in your existing Postgres, MySQL, SQLite, or MongoDB. A distributed, durable BullMQ alternative with a built-in dashboard.

Sidequest is a background job queue for Node.js that stores jobs in Postgres, MySQL, SQLite, or MongoDB instead of Redis. It's aimed at teams who want durable job processing without adding Redis to their stack. The built-in dashboard and atomic job claiming via SELECT FOR UPDATE SKIP LOCKED make it a credible pg-boss or BullMQ replacement for most use cases.

The multi-backend approach is genuinely useful — SQLite for local dev, Postgres in production, same API throughout. Atomic claiming with SKIP LOCKED is the correct way to handle distributed job dequeuing on SQL databases; they didn't roll their own locking scheme. The monorepo structure is clean: backend drivers are separate packages so you don't pull in pg, mysql2, and mongodb into every project. Test suite coverage is solid — each backend has its own integration test suite running against real drivers, and the shared backend-test package means consistency guarantees are actually enforced across implementations.

Node.js >= 22.6.0 is a hard requirement, which cuts off anyone on LTS 20 (supported until April 2026). Not running on Bun is an honest limitation but narrows the audience further. The dashboard is EJS templates with vanilla JS — functional but stuck in 2018; you can't embed it cleanly in a Next.js or Remix app without iframe awkwardness. MongoDB support is structurally odd here: document stores don't give you SKIP LOCKED, so the atomicity story for Mongo is weaker and the FAQ likely papers over this difference rather than eliminates it.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →