Blog

A free status page for a side project

4 min read ยท published 2026-10-08

The short version

A side project needs a status page the day the demo breaks for everyone but you. This is the two-minute version: type your domain on upcontrol.io, a public status page for that host exists from that moment, no account, no card, and it stays free. When the project grows, checks, logs and events can grow onto the same page.

What the page carries on the free plan, from the pricing sheet as of 2026-10:

Free plan
The pagepublic from the moment you type the domain, at upcontrol.io/status/yourdomain
Checks behind it3 website checks, every 5 minutes, counted workspace-wide
SSL and domain expirywatched on every check
Heartbeats for jobsfree, never count toward the 3
What the page showscomponents, incidents, uptime history
AlertsTelegram, Slack, Discord, email, unlimited
Teammatesfree, can change settings
Page addressour link; your own domain is a paid feature
Paid plans, if ever neededfrom $9/month annual ($11 monthly)

Getting the page

  1. Open upcontrol.io and type your domain. The public page exists from that moment.
  2. Claim the page from its link to move it into your account.
  3. Add up to three checks: the site, the API, the checkout. Split them into components on the page, so the customer sees "API degraded" while the site itself still answers. A check opens an incident only after three failures in a row, and the incident is titled with the cause, "Checkout returning 502" or "DNS error", not only "down".
  4. Pick where alerts go: Telegram, Slack, Discord or email. No seat tax anywhere, on any plan.
  5. Have a nightly job? Give it a heartbeat. Every 5 or 30 minutes, hourly, every 6 hours or daily; a missed ping opens an incident at most an hour past its due time, and heartbeats never touch the check count.

The uptime math follows the same rule. A gap where no probe could run is left out of the percentage instead of being counted as either up or down, so the number on the page is measured time, not a guess about the gaps. A status page that says 100% for a probe that never ran is the one thing a monitoring product may never print.

What free does not include

Honest limits, from the same sheet:

  • Three checks, not fifty. The count is the workspace's, across every project in it. Heartbeats are extra and free.
  • Every 5 minutes, not every minute. Paid plans check every minute.
  • Our link, not your domain. A custom status page domain, a subdomain via CNAME, is a paid feature; the address upcontrol.io/status/yourdomain is the free one and stays yours.
  • Incident history runs 10 days on the free plan. Older incidents age out of the page.
  • No on-call scheduling, rotations or phone/SMS escalation. Alerts go to Telegram, Slack, Discord and email; that is the whole list.
  • Younger product: fewer integrations than the decade-old incumbents. Three alert channels and a status page cover most side projects anyway.

When the project outgrows it

The first paid plan is $9/month annual, $11 monthly, and starts with a 7-day free trial: the card is collected at checkout, the first charge lands after the trial, and cancelling before it costs nothing. That buys 10 checks at every minute, 2 projects, 7 days of dashboard history. Or nothing buys anything: the self-hosted core is AGPL-3.0, runs from one compose file on a 1GB RAM box with zero telemetry, and the free hosted tier never expires.

The part that matters next: the why

Uptime alone tells you the demo broke. Logs and events tell you why, and a coding agent wires them: run npx upcontrol in the repo and the agent you already use (Claude Code, Cursor, Codex, Gemini CLI, Copilot, Windsurf, Amp, Aider, Cline, opencode) adds the logging. Ask it in plain words, "track my users from first visit to purchase", and the funnel lands on the dashboard with no tracking code written by hand. When an incident opens, the page carries the deploy that landed before it and the log lines around the failure, and alerts fire on new errors in your logs on every plan including free. Paid plans add a 15-minute follow-up, recovered or still down, so a side project that starts charging money stops guessing in the dark.

The page is free and takes two minutes: https://upcontrol.io/?utm_source=blog&utm_medium=vs&utm_campaign=engine