Signal0

The incident inbox for indie devs who refuse enterprise pricing.

Incident monitoring for indie devs at $1. Ship a tiny SDK, group repeated failures by fingerprint, and let escalations happen automatically at L1, L2, and L3.

Projects

2

Events logged

10

Active incidents

2

Drop this into a routesignal0
import { createSignal0 } from "./signal0";

const signal0 = createSignal0({
  endpoint: "https://your-domain.com/api/v1/events",
  projectKey: process.env.SIGNAL0_PROJECT_KEY!,
  environment: process.env.NODE_ENV,
  release: process.env.VERCEL_GIT_COMMIT_SHA,
});

export async function GET() {
  try {
    throw new Error("Database is out of sync");
  } catch (error) {
    await signal0.captureError(error, {
      route: "/api/orders/sync",
      requestId: crypto.randomUUID(),
      context: {
        job: "orders-sync",
        tenant: "launch-demo",
      },
    });
  }

  return Response.json({ ok: true });
}

Why it works

One link. One key. One place to decide whether a bug is real.

The launch scope is deliberately narrow: Node/Next.js first, JSONL logging on the backend, SQLite for grouped incidents, and markdown reports created only when repetition crosses the thresholds that matter.

Instant setup

Create a project and get a live ingest key in seconds.

No password. No OAuth. You get a secret dashboard link and a project key you can drop into your app immediately.

Cheap by design

Raw events are append-only JSONL with UTC timestamps, redaction happens before persistence, and the database surface stays tiny.

No auth maze

Secret dashboard links remove signup friction. Great for Product Hunt, faster for trials, and still safe enough for MVP usage.

Escalation that feels real

Signal0 moves from noise to L1, L2, and L3 with the exact thresholds already baked into the product.

Live demo

Trigger five matching errors and watch the incident jump to L2.

This creates a disposable project, sends five identical crashes, and returns a dashboard link that already contains the grouped incident plus the generated markdown report.

Pricing

Free beta now. Lock $1/month forever when billing turns on.

Validate the workflow before charging. Capture willingness to pay on the project form, keep the promise clear on the landing page, and avoid building checkout before the product earns it.

Launch plan

Product Hunt-ready with one more step: hit publish.

The app ships with a demo flow, docs, dashboard, SDK source, and a launch pack in the repo. If Product Hunt throws a browser challenge, the remaining work is just the manual captcha unblock.