—
—
Updated —
Channel description will load here.
YouTube Monitor
youtube-monitor
YouTube analytics on the edge
A lightweight dashboard that fetches your YouTube channel details, stats, and latest uploads via a Pages Function and caches the bundle in R2 to protect your API quota.
What it does
YouTube intelligence
Loading channel data…
—
—
Updated —
Channel description will load here.
Subscribers
—
Total views
—
Videos
—
Uploads playlist
—
Showing up to 15 most recent videos
Title, handle, description, topics, keywords, country, and channel timestamps pulled directly from the YouTube Data API.
See live data →Bundles are stored in R2 with a configurable TTL to prevent hot partitions or API overuse while keeping data fresh.
Configure TTL →Use `GET /api/channel` for cached reads or append `?refresh=true` / POST to force a live pull from YouTube.
API details →Single `wrangler pages deploy` pushes the dashboard and worker; bind an R2 bucket and you're live.
Deployment steps →The Pages Function fetches channel details, the uploads playlist, and video stats, then writes the normalized bundle to R2. The front end reads from `/api/channel` and renders cards for channel metadata, stats, and the latest uploads.
Pages serves the dashboard and runs the Function; R2 holds the cached payload. Set your API key as a secret, channel id as a var, bind the bucket, and ship.
Once deployed, hit `GET /api/channel?refresh=true` to prime the cache, or rely on the UI refresh button.
Use Cloudflare Pages for the marketing site while your services ship via Docker or Kubernetes. The repo already contains manifests you can adopt or customize.
Need a baseline health check? See `docs/individual-contributor/HEALTH_CHECKS.md` and mirror the probes in `deployment/docker/Dockerfile.template` and `deployment/kubernetes/` overlays.
wrangler secret put YOUTUBE_API_KEY
kubectl apply -k deployment/kubernetes/overlays/dev
npm run test # or your stack equivalent
Tune `CACHE_TTL_SECONDS` in wrangler.toml to balance freshness vs. quota.
Update these when you introduce stack-specific tooling.
Deploy the monitor, pin your channel id, and keep an eye on subscribers, views, and the latest uploads without exposing your API key.
View on GitHub