live · private beta
Incident infrastructure for SaaS

When things break, your users shouldn't be the last to know.

BannerHQ ships on-brand outage and maintenance banners the moment a trigger fires — edge-delivered, inline or floating, controlled from a dashboard. No engineer required during the 3 AM page.

private beta · no credit card · we email when seats open

app.acme-cloud.com
Elevated API latency in us-east-1
Some dashboards may feel slower than usual. We're investigating now.
◆ how it works

Three steps between a script tag and a pager-free night.

No SDK to install. No framework hooks. Works in Next.js, Rails, Laravel, static sites — anywhere HTML runs.

  1. 01
    install

    Drop one script tag

    Paste into the <head> of your app. Two bytes of config. No build step, no SDK, no dependency tree. Works wherever HTML does.

    // head.html
    <script src="edge.bannerhq.dev/embed.js"
            data-key="env_live_9f3a" async />

    No cookies, no build step. Just a script tag.

  2. 02
    wire

    Point a trigger at your health endpoint

    BannerHQ pings your URL on a regular cadence. A couple of failures in a row? The outage banner fires — for everyone, everywhere your script is loaded.

    # trigger
    type: url_ping
    url: "api.acme.com/health"
    threshold: 2 # fail-fast
  3. 03
    relax

    Go back to whatever you were doing

    Recovery is automatic. The banner disappears when your service returns. Pin it from the dashboard to keep control of the story.

    ▸ 02:17:04 trigger.fired
    ▸ 02:17:09 banner.activated
    ▸ 02:23:51 trigger.recovered
◆ what's in the box

Small surface area. Heavy lifting.

Everything you need to handle an incident like a grown-up — and nothing you don't.

Edge-delivered

Served from Cloudflare Workers with a KV cache. Instant invalidation on state changes. Updates propagate on the next check.

global edge

Ping triggers

Wire any URL to any banner variant. Failure and recovery thresholds, per-environment targeting. Email when it fires. Email when it clears.

automatic

Multiple variants

One banner slot, many states. Degraded, outage, maintenance, post-mortem — switch instantly from the dashboard or from a trigger.

multi-state

Floating + anchor

Top or bottom floating overlays for site-wide notices. Or drop a <div> with data-bannerhq-id to inject inline banners anywhere.

overlay + inline
◆ early access

Still reading? Let's get you a key.