How Statsy Monitors Uptime and Notifies Users About Incidents
Updated
Statsy watches your service endpoints on a schedule, flips the matching component on your public status page when something breaks, and emails the subscribers who opted in. The whole loop — check, detect, update, notify, recover — runs without you touching the page. This applies to any team that wants a public health page without building one: you add endpoints, Statsy polls them, and visitors can subscribe for email alerts with one click.
The monitoring loop, step by step
- You register endpoints. In the example on the site, these are URLs like
https://api.yourapp.com/health,https://yourapp.com, andhttps://dashboard.yourapp.com. Each one maps to a component on your page (Website, API, Auth, Database, Email Delivery, Dashboard). - Statsy polls them. The page states a 1-minute monitoring check interval on Pro. Each check records a response, and the site's demo shows latency alongside status —
142ms Operational,2.4s Degraded,timeout Outage. - A failed or slow check changes the component's state. Components show one of three values: Operational, Degraded, or Outage. Degraded and Outage are what your users see instead of a green dot.
- The status page updates automatically. The demo notification reads: "Statsy detected that dashboard is down. Your status page has been updated automatically." You don't post the incident manually for monitored components.
- Subscribers get email. The same notification goes to people who subscribed on your page. A follow-up arrives on recovery: "✓ Recovered: dashboard is back up."
- Uptime history accumulates. Statsy tracks a 90-day uptime history automatically — the demo shows
99.4%and a "13 days without incident" counter.
The expected result after setup is a page at your own domain showing live per-service health, a rolling uptime figure, and a subscriber list that receives both outage and recovery emails.
What triggers a notification
| Trigger | What happens | Who sees it |
|---|---|---|
| Endpoint returns an error or times out | Component moves to Outage, page updates, alert fires | Page visitors + email subscribers |
| Endpoint responds slowly | Component shows Degraded | Page visitors + email subscribers |
| Endpoint recovers | Component returns to Operational, recovery email sent | Page visitors + email subscribers |
| You publish scheduled maintenance | Maintenance entry appears with a time window and affected services | Page visitors |
The demo shows the recovery email landing 4 minutes later, which reflects the check interval rather than a fixed delay — a shorter interval means faster detection and faster recovery notices.
Scheduled maintenance
Maintenance is a separate, manual entry rather than something monitoring infers. In the example, a "Migration + Infrastructure Upgrade" is posted with a date and window (May 30, 2026 · 1:00 AM – 2:00 AM), a description, and an explicit Affected list (Website, API). It carries a Completed state once the window passes, and past incidents are listed separately as Resolved with a short cause note — for instance "Elevated response times on /v1 endpoints. Resolved after scaling connection limits."
So the page distinguishes three kinds of history: automatic uptime data, incidents Statsy detected, and maintenance you scheduled in advance.
What subscribers actually do
Visitors don't need an account. The page offers a one-click Subscribe for email alerts, and the site describes it as "no account needed for visitors." That matters for adoption: your users can opt in from the page itself during an incident, which is exactly when they're most motivated to.
Setup and plan conditions
- Setup time: the site claims under 5 minutes from signup to a live page, with a 5-minute average.
- Cost to start: $0 on the free plan, forever, and signup requires no credit card.
- Custom domain:
status.yoursite.comis listed as a paid-plan feature, so on the free plan expect the hosted Statsy URL rather than your own subdomain. - Check interval: the 1-minute interval is a Pro feature; the free plan's interval isn't stated on the page, so treat faster detection as a paid upgrade rather than a default.
- No onboarding calls: the site explicitly positions this as self-serve — "no onboarding calls, no complexity."
If your priority is a public page your users can check and subscribe to within an afternoon, the free plan covers the core loop. If you need your own domain on the page or minute-level detection, budget for a paid tier — the page doesn't publish prices, so check the pricing page before committing.
Where this breaks down in practice
- Health endpoints that lie. If
/healthreturns 200 while your database is unreachable, Statsy reports Operational. Monitor the dependency directly (the demo tracks Database as its own component) rather than trusting one aggregate endpoint. - Slow ≠ down. A
2.4sresponse shows as Degraded, not Outage. Decide with your team whether Degraded should page anyone, since it will email subscribers. - Recovery lag. With a 1-minute interval, a brief blip can produce an outage email followed by a recovery email minutes later. Subscribers see both; consider whether that noise is acceptable before promoting the subscribe link widely.