Skip to content

Why palumb

There are good notification tools already. palumb is opinionated about a specific combination that the others make you choose between.

The wedge: EU-sovereign and managed and durable and code-first

Section titled “The wedge: EU-sovereign and managed and durable and code-first”

Each of these exists somewhere. palumb’s bet is that for a class of EU teams, you should not have to give any of them up:

You want…The usual trade-offpalumb
Notification logic in code you own and reviewLow-code builders own the logic; you adapt to themWorkflows are plain TypeScript you deploy
Durability (no lost or doubled sends)Roll it yourself with queues, retries, idempotency keysBuilt in — workflows run on a durable runtime
A managed service (you don’t operate it)Self-hosting the durable runtime is on youpalumb runs the control plane and the runtime
Data that stays in the EUMost managed options are US-centricEU-sovereign by design

You can build this: a queue, a worker, retry and idempotency logic, a place to store provider credentials, a subscriber/topic model, and a batching mechanism for digests. Most teams do — and then spend the next year on the edge cases (what happens on a crash mid-send, how to not email someone twice, how to wait an hour without holding a worker open).

palumb is that machinery as a product. You keep the part that is genuinely yours — what to send and when — and drop the part that is the same for everyone.

A plain “send” API solves the single send. It does not give you durable workflows: waiting, batching, branching, and surviving failure are still your problem. palumb’s unit is the workflow, not the message, and the runtime underneath it is durable — that is the difference that shows up in production, not in the demo.

  • Notifications authored by non-developers. palumb is code-first on purpose. If marketing needs to edit flows in a UI, this is the wrong shape.
  • You’re already deep in another managed stack and EU residency doesn’t matter to you. The sovereignty wedge is a real part of the value; without it the case is thinner.

Being explicit about the boundary is the point — palumb does one shape of the problem very well rather than every shape adequately.