Synthetic monitoring vs uptime checks: what each one actually proves

An uptime check proves your homepage answers. Synthetic monitoring proves a browser could finish a task. Neither proves a customer could sign up and pay, unless you point it at that path.

Mystra8 min read
An uptime check pings the homepage and gets 200. A revenue-path check walks signup, welcome email, checkout and paid access, and finds checkout broken.UPTIME CHECKGET https://app.example.com/200 OK · 87 ms · every 30 s“Everything is up.”The homepage answered. Nothing else was asked.REVENUE-PATH CHECKSign up1.8 sWelcome email4 sCheckoutPOST /api/checkout → 500Paid accessnot reached“Checkout broke on deploy a41f9c2.”

See this run on your own app

Mystra walks signup, welcome email, checkout and paid access after every deploy, with proof. One app and 25 runs a month are free, no card.

A timeline of a successful checkout: the card is charged, the browser returns to the app a second later, and the webhook that grants access arrives after that. In the gap the customer is signed in and still on the free plan.stripecard chargedsigned in, still on the free planyour appback on /successwebhook grants access

Guide10 min read

Why your app still says free after a successful Stripe payment

The charge went through and the account is still on the free plan. Here are the six places the grant goes missing between Stripe and your database, and how to find which one you have.

Read the post →
A magic-link signup travels five hops: the form, your server, the email provider, the inbox and the link that opens a session.MAGIC-LINK SIGNUP · FIVE HOPS1Form2Your server3Email provider4Inbox5Link opensEvery hop can fail without an error in your logs.Only a real inbox, and a real click, proves the whole chain.

Guide9 min read

How to test a magic-link signup flow end to end

A magic-link signup has five hops and fails silently at each one. Here is where it breaks, how to test it by hand, in CI, and on production after every deploy.

Read the post →