Still a bit rough, but working on https://delaykit.dev.

The Node.js ecosystem doesn't seem to have a good primitive for app-level, per-event scheduling (things like "expire this abandoned cart in 24h" or "debounce 50 profile updates into one reindex"). Cron is too broad and you still have write the polling/scheduler code yourself. Job queues optimize for throughput and usually bolt `run_at` on as an afterthought. Workflow engines are overkill for a simple "do this thing later, tied to this user" and want you to adopt their runtime.

DelayKit aims to be the in-between. It is backed by Postgres and uses keys like `dk.schedule("expire-cart", { key: cartID, delay: "24h" })`. Handlers get the key, not a payload, and fetch fresh state at fire time. This way DelayKit is only responsible for the "hey remember you have to do this thing for cart X" part.

I'm working through making it production-ready at the moment, the initial passes were more around figuring out the API and general architecture. Thoughts and comments greatly appreciated!