Live · refreshes every minute
Client site status
Every 5 minutes a Cloudflare Worker requests each site I've built, times the response and stores the result in a D1 database. This page reads it back through a small JSON API.
Loading live status…
How it works
- Cron trigger. Cloudflare runs the Worker's
scheduled()handler every 5 minutes. - Checks. All sites are requested in parallel with a 10-second timeout. The response time is the time to the first response headers, and the body is never downloaded.
- Storage. Results go into D1 (Cloudflare's SQLite) in a single batch, and rows older than 30 days are pruned in the same batch.
- API.
/api/statusaggregates uptime and medians, and is cached at the edge for 60 seconds. - UI. This board is a Svelte island that polls the API once a minute.
The list of sites comes from the same markdown files that generate the case studies, so adding a project adds it to monitoring.