Introduction
StatusBeam monitors your services, records their uptime as durable time-series data, and publishes a fast, good-looking status page to the edge. It keeps the parts of upptime people love — config-as-YAML, zero servers to babysit, badges, a public JSON API — while fixing upptime’s biggest structural weaknesses.
Architecture
Section titled “Architecture”StatusBeam is deliberately split into three independent layers. Each can be understood, deployed, and replaced on its own.
- Check layer — Cloudflare Cron Worker. Cron Triggers ping every configured
service on schedule, derive
up/degraded/downfrom the status code and response time, write time-series to D1 and the current snapshot to KV, and on a status change enqueue a notification and purge the page/badge cache by tag. - Notify layer — Queue consumer. Fans out status changes to Slack, webhooks, and (soon) email and RSS/Atom.
- Display layer — Astro site on Cloudflare. Renders the page at the edge from D1/KV — the browser never calls a third-party API, so there are no client rate limits. Fronted by Workers Cache; the check layer purges by tag on change, so updates are near-instant rather than TTL-bound.
Because the check and display layers live on Cloudflare — not on the infrastructure being monitored — your status page stays up even when your own services are down. That resilience is the whole point of a status page.
Next steps
Section titled “Next steps”- Quick Start — get a page running locally.
- Configuration — the single
status.config.ymlfile. - Deploy to Cloudflare — provision D1/KV and ship it.