A scheduled job pinging a URL and emailing you if it fails is genuinely simple — this register's UptimeRobot itself scores near the top for exactly this reason.
Build it
Effort: an eveningRunning cost: $0/mo to start
Why CanICodeThis says Build it
A scheduled job that requests a URL every few minutes and records the response code and timing is a well-documented pattern
Sending an email alert when a check fails (and another when it recovers) is one transactional-email call
A history log and simple uptime-percentage calculation is ordinary aggregation
The parts that'll cause problems
Checking from multiple geographic regions (to distinguish a real outage from a local network issue) needs infrastructure in more than one place
SMS or phone-call alerts for critical downtime need a real telephony integration
A public status page sharing uptime with customers shares this register's own Statuspage-style build spec, a real additional feature
How I'd build this
frontend
Astro or Next.js
database
Turso (SQLite)
email
Resend
hosting
Cloudflare Pages
MVP scope
A scheduled job checking a URL every few minutes
Email alert on failure and on recovery
A history log and uptime percentage
Postpone to v2
Multi-region checking
SMS/phone alerts for critical downtime
A public status page
What it actually costs to build
AI agent — with a subscription (Claude Pro/Max, Cursor, etc.)
$0 marginal
AI agent — pay-per-use API, no subscription
$16–$27 one-time
Hosting, once it's running
$0/mo (free tier)
Domain name, if you want your own
~$12/yr
Existing tools solving a similar problem typically run $7–$29/mo — see how they compare below.
The build prompt
Build me an uptime monitor: a scheduled job checking a URL every few minutes, recording response code and response time, with an email alert on failure and another on recovery. A history log and an uptime-percentage calculation. Single-region checking is a reasonable starting point.