November 20, 2025 · alerts, realtime, product

Alert on intent, not just errors

Error-rate alerts tell you the system broke. Intent alerts tell you the product stopped working for people. The second one matters more.

Every monitoring stack can page you when the server returns 500s. Fewer can tell you that signups quietly stopped converting two hours ago — with no error in sight. The gap between those two is the difference between alerting on systems and alerting on intent.

The blind spot of error alerts

Errors are easy to detect because they announce themselves. But most product damage is silent:

  • A payment provider change makes checkout fail for one region.
  • An onboarding tweak confuses users who then abandon — no exception thrown.
  • A campaign drives traffic that doesn’t convert, which looks like success to infra.

None of these produce a red chart. All of them cost revenue. If your alerts only watch for red, you’re watching the wrong color.

What intent alerts look like

An intent alert is a plain-language condition on the live event stream:

“Warn me when checkout completion drops below 3% for more than 10 minutes.”

“Tell me when activation for new EU signups dips 20% week-over-week.”

That’s it. No query language, no threshold spreadsheet, no “who owns this dashboard” meeting. The condition describes the outcome you care about, and the alert fires when the stream says it’s happening.

Why realtime changes alerting

A daily report can’t alert you — it can only inform you, tomorrow. Realtime alerting collapses the loop:

  1. Detect — the condition breaks, and within seconds you know.
  2. Context — the alert carries the events behind it, so the investigation starts with facts.
  3. Route — to Slack, email, or a webhook, wherever your team actually works.

We’ve seen teams cut their mean-time-to-know from “the Monday report” to “the minute it happened.” The fix is often the same either way — but the cost of the outage is very different.

A practical first rule

If you’re starting with intent alerts, pick one rule that would have helped you last month. Not the most sophisticated — the most painful. “Warn me when [metric that hurt us] crosses [line we wish we’d set].” Wire it to Slack, and give it a week. By Friday you’ll have written three more.

Errors tell you the machine is alive. Intent tells you the product is working. Monitor both — but know which one is which.

Share this article:
Finn Gallagher

Finn Gallagher

Frontend Engineer at Vireo

Related posts

Why the overnight dashboard is costing you users

Batch analytics answers yesterday's questions. Here's what changes when your team sees product behavior in real time — and why waiting is the expensive option.

Funnels without SQL: a four-minute setup

Drag steps, split by any property, watch it recompute. Building a funnel in Vireo takes about as long as brewing the coffee you'll drink while it loads.

The 50ms promise: what it takes to ingest in real time

Under the hood of Vireo's ingest pipeline — how a million events a minute get to your dashboard in under 50 milliseconds, and why it stays that way.