DEV Community

Nandu S S
Nandu S S

Posted on

I built a dashboard that watches cron jobs, SSL certs, and domain expiry so I don't find out from a client

Three unrelated things kept breaking the same way: a cron job's entry gets silently dropped in a server migration, a Let's Encrypt renewal hook fails quietly, or a domain bought years ago for a side project expires and takes a live site down with it. Nobody notices until a client does.

So I built Keepalive, one dashboard that watches all three:

  • Cron jobs: each one gets a unique check-in URL to call on success. Miss the expected schedule, get an alert.
  • SSL certificates: checked on a schedule, flagged before they expire, not after.
  • Domain registration: same idea, via WHOIS.
  • Alerts: email, Slack, or a generic webhook, fired on any status change, including recovery, not just failure.

Stack: FastAPI + SQLite + APScheduler, deliberately boring, one process, no queue, no separate worker. Deployed on Fly.io.

It's free to try, no card required: https://keepalive-nandu.fly.dev

Would genuinely value feedback from anyone managing a handful of client sites or scheduled jobs, what's missing, what's confusing, what you'd actually pay for.

Top comments (0)