Overview
Live health snapshot — workers, endpoints, panels, and error tail.
Endpoints
Every backend endpoint the site depends on — status, response time, size.
Workers & endpoints
Expand any worker to see every endpoint it serves. Click any endpoint to see its 7-day error history.
Errors
Backend failures (5xx / 4xx / timeout) plus real-user JS errors from Michigan Gateway.
RUM snippet on Michigan Gateway posts here on window.onerror / unhandledrejection / fetch 5xx.
Synthetic checks
Fetches key pages and parses the HTML for expected content — catches "[object Object]", "undefined undefined", missing sections, or bodies too small to have rendered.
Infra & deploys
Cloudflare deploy history per project, SSL cert expiry, worker request volume vs limits.
Cron heartbeats
Every scheduled worker writes a heartbeat on each run. Silent workers (no heartbeat in > 2× their interval) get flagged here.
Data health
Parses response BODIES, not just status codes. Catches "HTTP 200 but data is empty / stale / errored" — the class of bug that plain uptime checks miss.
Third-party dependencies
Direct pings to upstream APIs (NWS, USGS, OpenSky, FDA, WordPress, etc). Distinguishes "our worker is broken" from "the upstream is having a bad day."
Panels & counties
Grouped by page: expand any page to see the panels it renders and their live status. County page coverage is folded into the "County pages" accordion.
Weather alerts
weather-alerts-worker ingest history — coming in Phase 2.