Vibecode Cronitor

track this build5 phases, 19 steps, beginner friendly
YES · one-shottable
price $10/moyou'd save $120/yrbuild time one sittingcategory ⏰ cron monitoringreplaced by 0 people

Heartbeat endpoint plus dead-man's-switch alerts. A hundred lines of code wearing a SaaS badge.

the project pack5 files · written for this build, step by step
README.md
# Cronitor · indie build

A cron-job monitor you run yourself: every scheduled job gets a URL it pings when it finishes, the monitor flips a job to late and then down when the pings stop, one chat message goes out per state change, and a dashboard shows every job with its last ping and a 24-hour histogram. When every item is ticked you have Healthchecks-style monitoring for a few dollars of hosting.

Estimated effort: **one sitting**. Work `BUILD_PLAN.md` top to bottom · every phase ends in a check that has to pass before the next one starts.

## Stack

| Part | Choice | Why |
| --- | --- | --- |
| Runtime | Node 22, node:http and node:sqlite | no framework and no ORM: a ping is one INSERT and the loop is a setInterval |
| Database | SQLite in WAL mode | one file, survives restarts, fast enough for millions of pings |
| Alerts | One chat webhook | the channel you already watch, no SMS provider bill |
| Hosting | A VPS that is not the box running your jobs | a monitor on the same host reports nothing when that host dies |

## Before you start

Have every one of these ready. The plan assumes them from step one.

- [ ] **Node.js 22 or newer** · free
  - Why: Everything in this build runs on it: the server, the scripts, the tests.
  - Get it: Download the LTS installer from nodejs.org, or install with your package manager (brew install node, or nvm install 22). Restart the terminal afterwards.
  - Verify: node --version prints v22 or higher
- [ ] **A terminal and a code editor** · free
  - Why: Every step below is a command you type or a file you edit.
  - Get it: VS Code (code.visualstudio.com), Cursor or Zed. Open a folder for the project and use the editor's built-in terminal.
  - Verify: You can open a folder and run a command in its terminal
- [ ] **Git** · free
  - Why: History for your code, and the way most hosts deploy.
  - Get it: Install from git-scm.com or with your package manager, then run git init in the project folder once it exists.
  - Verify: git --version prints a version
- [ ] **A chat webhook URL (Discord, Slack or Telegram)** · free
  - Why: Alerts go to a chat channel you already watch. A webhook URL is the only credential this needs.
  - Get it: Discord: Server settings > Integrations > Webhooks > New Webhook, copy the URL. Slack: create an app at api.slack.com/apps, enable Incoming Webhooks, add to a channel, copy the URL. Telegram: create a bot with @BotFather and use the bot token plus your chat id.
  - Verify: curl -X POST -H 'Content-Type: application/json' -d '{"content":"test"}' <url> posts a message (Discord form; Slack uses a text field)
- [ ] **The list of jobs you want watched** · free
  - Why: Each job needs a name, how often it runs, and how late is too late. Deciding this up front is what makes Phase 2 testable.
  - Get it: Run crontab -l on each machine and write down every job: name, schedule (every 5 minutes, hourly, nightly at 03:00), and a grace period (how long past due before you want to be told).
- [ ] **curl on the machines running the jobs** · free
  - Why: The whole integration is appending && curl -fsS <url> to a crontab line.
  - Get it: Already present on nearly every Linux and macOS system.
  - Verify: curl --version prints a version
- [ ] **A small always-on server (VPS)** (optional) · about $5 a month
  - Why: This needs one process running all the time with a public address. The monitor must live somewhere other than the machines it watches.
  - Get it: Hetzner Cloud (from about 4 EUR), DigitalOcean or Fly.io. Ubuntu 24.04, the smallest size. You need SSH access and a public IP. Only needed for the deploy phase; develop locally first.
- [ ] **A domain or subdomain** (optional) · roughly $10 a year, or free on an existing domain
  - Why: A stable address for ping URLs, so a server move does not mean editing every crontab.
  - Get it: Register at Cloudflare Registrar, Porkbun or Namecheap, or use a subdomain of one you already own. You add one DNS record in the deploy phase.
- [ ] **Caddy on the server** (optional) · free
  - Why: Automatic HTTPS in front of the Node process. Without TLS the browser features this relies on (and your visitors' trust) do not work.
  - Get it: On the VPS: follow the install steps at caddyserver.com/docs/install for Ubuntu. One Caddyfile with your domain and a reverse_proxy line is the whole config.
  - Verify: caddy version prints a version on the server

## Quick start

```sh
mkdir cron-monitor && cd cron-monitor && git init && npm init -y && npm pkg set type=module
mkdir data
cp .env.example .env
```

Then copy `.env.example` to `.env` and fill in the values it documents.

## Honest limits

This build deliberately does not replace:

- SMS, WhatsApp and phone-call alerts. One webhook into a chat app covers the solo case; a provider bill covers the rest.
- Status pages, teams and on-call rotation. That is the paid product.
- Cron-expression parsing and insights. Period plus grace is enough and it is the part you can get right.
- their status pages and team features
- alert routing (SMS, PagerDuty)
- cron expression insights

If one of those is essential to you, that is the reason to keep paying for Cronitor, and the README should say so rather than pretend.

$ choose a build depth, inspect the files, then open the complete pack in your agent

what you lose

xtheir status pages and team features

xalert routing (SMS, PagerDuty)

xcron expression insights

share on X ↗"I just replaced Cronitor ($10/mo) with one prompt"
the escape hatch

Don't feel like building it? These folks already made it free.

Uptime KumaPush monitors and ordinary uptime checks under one very cheerful roof.87kaug 2026open sourceHealthchecksCron phones home; this notices when it stops.10kaug 2026open source

no votes, no pay-to-list · just what's real

questions
Vibecode Cronitor

Yes. A competent AI coding agent (Claude Code, Codex, Cursor) can build a usable personal Cronitor replacement in one session with the prompt on this page. It runs on your own machine or server with no subscription.

How much does Cronitor cost?

Cronitor costs about $10/month (paid plan, checked 2026-07-29), which is $120 per year. That's what you save by replacing it with one prompt.

What do I lose by replacing Cronitor?

Honestly: their status pages and team features; alert routing (SMS, PagerDuty); cron expression insights. If any of those are load-bearing for you, keep paying.

Is there an open-source alternative to Cronitor?

Yes: Uptime Kuma (Push monitors and ordinary uptime checks under one very cheerful roof.) Healthchecks (Cron phones home; this notices when it stops.) The prompt is for when you want it exactly your way.