Platform
Status Page Lab
Cron or manual synthetic checks hit a URL, store history in Redis or memory, and render a public status UI.
Run this experiment yourself
Demos are not embedded on this site. Deploy a standalone copy on Vercel or run the experiment app locally.
Local development
cd apps/experiments/status-page-lab pnpm install pnpm dev
Then open http://localhost:3010.
This is an experimental demo. Use it as a starting point for your own projects.
Status Page Lab runs synthetic HTTP checks (Cron or manual), stores history in Redis or memory, and exposes a public status summary (operational / degraded / down).
Features
- Synthetic checks – timeout-capped GET to a configured URL.
- History – Redis or process memory with uptime %.
- Public status UI – overall status derived from recent checks.
- Cron auth –
CRON_SECRETBearer in production.
API Reference
POST /api/check / GET /api/check
Runs a check (manual=1 for UI; Cron uses auth).
GET /api/status
{ "status": "operational", "uptimePercent": 100, "history": [] }| Status | Cause |
|---|---|
401 | Unauthorized cron |
400 | Invalid URL |
Implementation Details
Check
Fetch target URL; record latency + status.
Summarize
overallFromHistory + uptimePercent for the UI.
Use Cases
- Learn Cron + Redis monitoring composition.
- Prototype a minimal status page.
Limitations
- Single URL; not multi-region probes.
- History capped (~40 samples).
Use in your project
Copy handlers from apps/experiments/status-page-lab/.
Deployment
Local Development
cd apps/experiments/status-page-lab
pnpm install
pnpm devConfiguration
| Variable | Required | Purpose |
|---|---|---|
CRON_SECRET | Prod | Authorize cron |
STATUS_CHECK_URL | No | Default target |
UPSTASH_REDIS_REST_URL / TOKEN | No | Durable history |
Vercel / Next.js Features Used
- Vercel Cron
- Upstash Redis
- Route Handlers
- Zod