This site is not affiliated with or endorsed by Vercel, Inc. Read the docs, then deploy or run each experiment yourself.
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_SECRET Bearer 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": [] }
StatusCause
401Unauthorized cron
400Invalid 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

Deploy on Vercel

Local Development

cd apps/experiments/status-page-lab
pnpm install
pnpm dev

Configuration

VariableRequiredPurpose
CRON_SECRETProdAuthorize cron
STATUS_CHECK_URLNoDefault target
UPSTASH_REDIS_REST_URL / TOKENNoDurable history

Vercel / Next.js Features Used

  • Vercel Cron
  • Upstash Redis
  • Route Handlers
  • Zod

Next Steps

On this page