YES

Replaceable in one session with an AI coding agent.

Uptime and transaction monitoring from locations around the world, with alerting and a public status history.

Promptfree, for everyone, and the only version there is
Build me the uptime monitoring that replaces Pingdom.

One rule dominates: **the monitor must not run where the thing being monitored runs.** Everything else is a loop with a timer.

STACK
- Node 20+ with Fastify
- SQLite through better-sqlite3, WAL mode
- A worker on a small server somewhere else entirely — a different provider, ideally a different country
- Caddy in front

THE DATA MODEL
- checks: id, name, kind, url, method, headers_json, body, expect_status, expect_body, interval_s, timeout_ms, regions_json, is_active
- results: id, check_id, region, at, ok, status, ms, error — **every check recorded, not only the failures**, so 'was it slow last Tuesday' is answerable
- incidents: id, check_id, opened_at, closed_at, cause, notified_at
- maintenance: id, check_id, from_utc, to_utc, note

CHECKING PROPERLY
- HTTP with a timeout, asserting the status and optionally a string in the body. **Asserting only the status misses the page that returns 200 with an error message on it**, which is the most common real outage
- Certificate expiry as its own check, alerting thirty days ahead
- DNS resolution and a TCP port check, which distinguish 'DNS is broken' from 'the app is down'
- Record the timing breakdown — resolve, connect, TLS, first byte — because 'slow' has four different causes and they need different people

MANY LOCATIONS WITHOUT MANY BILLS
- Two or three small servers in different regions and different providers. That is a few euros a month and it is the whole geographic argument
- **Confirm a failure from a second region before opening an incident.** One region failing is usually the network between there and you, and alerting on it is how monitoring gets ignored

TRANSACTION CHECKS
- A short scripted sequence — load, submit a form, assert the result — run less often than the simple checks because it is expensive
- Use a test account, never a real one, and **make it obvious in your own data that these requests are synthetic** so they do not pollute your analytics

ALERTING WITHOUT BEING HATED
- One incident per check, updated rather than repeated
- Escalation if unacknowledged; quiet hours with a severity override
- **Alert on recovery**, or somebody checks manually at three in the morning
- Maintenance windows that suppress alerts and are recorded in the history rather than hiding it

THE STATUS PAGE
- Static HTML on a different host and a different domain from the application. **A status page that goes down with the site is a status page that has never worked**
- Ninety days of history per check, and an honest uptime figure with the maintenance windows shown separately

WHAT MATTERS MOST
Running off-site, confirming from a second region, and a status page hosted elsewhere. Those three are the difference between monitoring and a comforting graph.

What you lose

  • Checks from many countries, which is the actual product
  • Transaction checks that click through a real browser
  • Alerting that has been reliable for years
  • A history you can show a customer

If you would rather not build

  • Healthchecks.io for the cron half
  • A cron job with curl and a message, which genuinely works

The escape hatch

open source · no votes, no paid placement

Uptime Kuma

$0

Self-hosted uptime monitoring with status pages and many notifiers.

louislam/uptime-kumafree · open source

Gatus

$0

Lightweight health dashboard driven by a config file.

TwiN/gatusfree · open source

Why this verdict

our own opinion · changed only by a person

82/100

Verdict yes at 82: a loop, a timeout and a table. The off-site rule and second-region confirmation are what make it trustworthy, and both cost a few euros a month.

History

tracked since 14 Aug 2026 · nothing is ever overwritten

Interest · last 30 days

Nothing recorded yet. This chart fills in once the page has visitors, votes or prompt copies — it will not draw a flat line to look busy.

Questions about Pingdom

answered from the record above

Is Pingdom free?

No — the plan we track is $10 a month. Synthetic monitoring from $10/month for ten checks, with real user monitoring priced separately.

Can you replace Pingdom by building your own?

YES. Replaceable in one session with an AI coding agent. Replacement score 82 out of 100, build time one session. Read what you lose before you decide.

How much does Pingdom cost?

$10 a month on Synthetic — $120 a year. Recorded 14 Aug 2026.

What do you lose by replacing Pingdom?

Checks from many countries, which is the actual product; Transaction checks that click through a real browser; Alerting that has been reliable for years; A history you can show a customer. If any of those carry weight for you, keep paying.

Is there an open-source alternative to Pingdom?

Yes: Uptime Kuma, Gatus. The prompt on this page is for when you want it your way instead.

Related entries

same category first, most replaced first

All 25 in Monitoring & uptime

Not sending yet

Every week, something stops being worth paying for.

New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.

free forever · no tracking pixel · stored here, never passed to anyone

Esc