A long day at the keyboard
When the last post went out, three of the four cloud-side monitoring features were live (uptime, SSL, port). The plan was to spend a few hours finishing the fourth — cron heartbeat monitoring — and call it a day.
That didn't happen. Three things shipped instead.
Cron heartbeat monitoring
This is the fourth cloud-side feature, and the one I'm most excited about. It's also genuinely different from the other three — instead of us actively probing your stuff, your scheduled jobs ping us when they run. If a ping doesn't arrive when expected, we alert.
The bit I think we did better than most heartbeat services: instead of giving you a curl command to bolt onto the end of your cron line, Observare gives you a setup card on the monitor's detail page where you paste your existing cron line — and we generate the modified version for you to copy back. Including an opt-in version that pings /fail immediately if your job errors, so you don't have to wait for the grace period to expire on a known failure.
How it works under the hood:
- Cron expressions only — no "interval" concept. Full IANA timezone support so you can run jobs in
Europe/LondonorAsia/Tokyoand we interpret the schedule correctly. - Preset dropdown for the common patterns (every 5 minutes, hourly, daily, etc) plus a custom field for power users.
- 30-second background worker checks for missed heartbeats. Newly created monitors stay in
pendingstate until the first ping arrives, so no false alerts before you've installed the cron line. - 10-minute default grace period, configurable per monitor.
- Same flapping detection as the other monitor types — 2+ incidents in 30 minutes suppresses further alerts and sends a single "this is flapping" notification.
SMS alerts
The second big feature today: SMS as a real alert channel alongside email.
Add a phone number, we send a 6-digit verification code, you enter it, channel is verified and enabled. From then on, any monitor you've attached the SMS channel to will text you when something breaks.
50 SMS per user per month included on the £5 plan. Hard cap, no overage. The flapping detection we built for the other features pays off here — a flapping monitor sends one SMS, not dozens.
The messages are short and direct:
[Observare] DOWN: My API connection_refused. https://api.example.com[Observare] RECOVERED: My API. Down for 4m 23s.[Observare] SSL: Production cert expires in 7d.[Observare] MISSED: Nightly backup. Cron heartbeat not received.
Under 160 characters each, so each one costs a single SMS credit.
A new dashboard
The third thing. The old dashboard was a placeholder — three KPI cards and a getting-started checklist. Fine for testing, not what you want to show off.
The new dashboard is the page I want to open first thing every morning:
- A pulsing status hero at the top — green when everything's healthy, red when there's an incident, with the actual headline shifting based on overall state.
- Five KPI cards with animated count-up numbers: total monitors, 24-hour uptime %, average response time, incidents in the last 7 days, alerts today.
- A live monitor grid grouped by type with pulsing status dots. Click any tile to drill into the detail page.
- Two charts side by side: combined 7-day uptime as an area chart and 24-hour response time as a line chart.
- An SSL Watch panel showing all certificates sorted by days remaining, colour-coded by urgency.
- An Upcoming Heartbeats panel showing the next cron pings with a live "in Xm Ys" countdown.
- A live activity feed at the bottom showing the last 20 events across all monitor types, with type-tagged badges (INCIDENT / RECOVERY / HEARTBEAT / FAILURE).
It polls every 15 seconds. One API call returns everything — no waterfall requests, single render cycle.
It's not just prettier. It tells you, at a glance, whether your stack is healthy. That's the entire point of a monitoring dashboard.
What's next
The last cloud-side feature is shipped. The remaining items on the launch order are agent-based: process monitoring, Docker container monitoring, IP and internal port monitoring, all delivered through a small agent users can run on their own machines or networks.
That's a much bigger lift than anything so far — we're shipping a binary or container, not just a SaaS feature. Going to take a while.
Registrations are still closed while we finish things up, but you can follow along with the build at @ObservareOps or on Indie Hackers. If you'd like to be invited to help us test, reach out via the contact form.
— The Observare team