I stitched three tools together to know if my side project was down. So I built one.
UptimeRobot plus Healthchecks plus a status page is three logins, three bills, and a status page that goes stale. Here is why I built Cronaut to do all three on one engine.
If you run a micro-SaaS or a couple of side projects, you know the setup. UptimeRobot pings your homepage. Healthchecks.io watches your nightly cron. Instatus or a Notion page pretends to be a status page. Three logins, three bills, three places to check, and they still do not talk to each other.
I got tired of it. So I built Cronaut.
One tool, three jobs
Cronaut does the three things every small product actually needs, and nothing it does not.
Uptime monitoring. Point it at a URL. It checks the status code, an optional keyword in the body, and SSL certificate expiry. When something breaks, you get an alert by email, Slack, Discord, or webhook.
Cron and heartbeat monitoring. Your backup job, your billing sync, your cleanup task. They fail silently, which is the worst kind of failure. Cronaut expects a ping on a schedule you set with a plain cron expression. No ping inside the grace window, you hear about it.
A public status page that posts itself. This is the part I care about most.
The status page writes its own incidents
Every other setup I tried had the same gap. A check fails, you get paged, and then you still have to log into a separate tool and type out an incident so your users know what is going on. At 3am that does not happen, and your status page quietly becomes a lie.
In Cronaut a failed check is one event, and that one event does two things at once. It logs the state change, and it opens the incident on your public status page automatically. When the check recovers, the incident closes itself. No second login, no copy and paste, no stale page.
You can see it running on Cronaut’s own status page right now: status.cronaut.dev. That page is not a mockup. It is the same product, watching the same service you would be signing up for, posting its own incidents the moment anything goes sideways.
What it is not
Cronaut is not trying to be Datadog. There is no APM, no log pipeline, no metrics explorer, no dashboard you need a training session to read. If you want a wall of graphs, this is the wrong tool and I will happily point you elsewhere.
It is a focused tool for people who want a straight answer to one question: is my thing up, and if not, do my users already know. That is it.
Built to stay simple and cheap
The whole thing runs as a small set of independent services, so the part that receives your cron pings can never be taken down by the part that does outbound probing. A missed ping never turns into a false alarm because the ingestion path stays up on its own.
Pricing is built for indie budgets, not enterprise procurement. There is a free plan to start, and the paid plans cost less than the three tools you are replacing combined. The numbers are on the pricing page.
Try it
If you have ever found out your product was down from a customer email instead of an alert, Cronaut is worth ten minutes of your time.
See the full pitch and start free at cronaut.dev.