Durable wake‑ups for TypeScript apps and agents.

Reminders, expirations, retries, debounces, and agent resumes. Backed by Postgres or SQLite.

npm install delaykitbun add delaykit
PLATE Iinstruments of the kitscheduledebouncethrottle
Code

What it looks like

// when a user signs up, schedule a reminder for 24h later
app.post("/signup", async (req, res) => {
  const user = await createUser(req.body);
  await dk.schedule("remind-onboarding", {
    key: user.id,
    delay: "24h",
  });
  res.json({ ok: true });
});

// the DelayKit handler runs at the scheduled time
dk.handle("remind-onboarding", async ({ key }) => {
  const user = await db.users.find(key);
  if (user.onboarded) return;
  await sendEmail(user.email, "ready to finish setup?");
});
Patterns

What you can do with it

Properties

What DelayKit handles

Stores

Pick a store

Runtimes

Pick a runtime

Boundaries

When not to use it