Never miss a server error again

Error e-mails drown in the inbox, dashboards only help if you open them. One line of code in your catch block, and every exception lands on your phone – with an alarm sound you recognize before you even look at the screen.

Error alerts from any catch block

Your endpoint is just a URL, so any language that can send an HTTP POST can page you – no SDK, no API key:

try {
  await chargeCustomer(order);
} catch (err) {
  await fetch("https://api.webhooky.app/YOUR_KEY", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      title: "🚨 chargeCustomer failed",
      message: String(err).slice(0, 400),
    }),
  });
  throw err;
}

title and message override the endpoint's defaults per request, so one “Errors” endpoint covers your whole backend – the notification itself tells you what broke and where. Enable store payload and the full error context is waiting in your in-app history.

The cha-ching for your own product

The same trick works for the good news. Fire a POST in your payment success handler and your phone plays a cash register for every sale; fire one on signup and new customers sound like a level-up:

await fetch("https://api.webhooky.app/SALES_KEY", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    title: "💰 New subscription",
    message: `${plan.name} · €${plan.price} · ${customer.email}`,
  }),
});

Why sounds matter

Create one endpoint per signal and give each its own sound: alarm for errors, cash register for sales, level-up for signups. After a day you stop looking at your phone – you hear whether your product just made money or just broke. That's the entire point.

Works everywhere your code runs

  • Serverless functions – Cloud Functions, Lambda, Vercel, Cloudflare Workers.
  • Cron jobs & scripts – one curl on failure (|| curl -X POST …).
  • CI pipelines – a step with if: failure(), see the GitHub & CI guide.
  • Anything else – if it speaks HTTP, it can reach your phone. API docs →
Get it on Google Play Download on the App Store