← Blog

What to monitor on Vercel, Railway, and Fly.io

Vercel, Railway, and Fly.io all give indie founders HTTPS and Git deploys, but they hide different failure modes. Platform dashboards answer “did my deploy succeed?” External monitoring answers “can a customer curl the same URL right now?”

This post is a single checklist for all three PaaS hosts. For step-by-step setup, use the dedicated guides linked below — StillOnline works the same on each: one public health URL, hosted status page, and owner alerts through the StillOnline Telegram bot, Slack, or email.

Quick answer

On Vercel, Railway, or Fly.io, monitor one production HTTPS health URL (GET /health or /api/health returning 200) on the hostname customers use — not preview URLs. StillOnline probes from outside each platform every five minutes on Free (one URL; pricing), publishes stillonline.tech/s/..., and sends owner alerts via the StillOnline bot.

Comparison checklist

What to monitorVercelRailwayFly.io
Production health URLYes — serverless or Node routeYes — web service hostnameYes — *.fly.dev or your domain
Preview / PR deploy URLNoNoNo
Static marketing site onlyOnly if that is the productRarelyRarely
Separate worker with public healthIf exposed via HTTPIf worker has public URLMachines with public route
Internal-only networkingNo external check possibleNoNo — need public HTTPS
Platform status pageInform onlyInform onlyInform only

Deep dives: Vercel guide · Railway guide · Fly.io guide.

Shared pattern (all three hosts)

The indie setup is identical regardless of PaaS:

  1. Add GET /health200, no auth on this path, under two seconds — health endpoint design.
  2. curl from outside your laptop network, not from the platform shell only.
  3. StillOnlineNew project → paste URL → copy status pagehealth quickstart.
  4. SettingsConnect TelegramStillOnline botTelegram guide.

Free: one project, one URL, five-minute interval. Pro / Ultimate: more checks and all alert channels — pricing.

Host-specific gotchas

Each platform has quirks that affect false positives — not different StillOnline setup.

HostCommon gotchaMitigation
VercelServerless cold start on /api/healthKeep handler minimal; avoid heavy DB on every probe
RailwayFree tier spin-downCold start may fail check — upgrade or accept brief red
Fly.ioMachine scale-to-zero, deploy blipMonitor /health, not / with redirects; see Fly guide

For redirect and antibot issues on any host: probe redirects guide.

When one HTTP check is enough

For most micro-SaaS before serious multi-region scale, one StillOnline check on the primary API health URL is enough. Add a second check only when you have a separate public hostname customers depend on (e.g. webhook ingestion on another service). See API-only SaaS checks.

Related guides

FAQ

Does StillOnline need different setup per PaaS?

No. StillOnline only needs a public HTTPS URL returning 200. The PaaS-specific work is choosing the right hostname and health route — use the Vercel, Railway, or Fly guide for details.

Should I monitor Vercel and Railway if I use both for staging and prod?

Monitor production only on Free (one URL). Duplicate staging checks often cause alert fatigue — add a second check on Pro only when staging must page you separately.

Can StillOnline replace each platform’s built-in metrics?

No — and you do not need to. Platform metrics help operators; StillOnline gives external HTTP truth, a customer status page, and owner alertspublic status page guide.

Which health path should I use across all three hosts?

GET /health or GET /api/health returning 200 is the common convention. Match what you document in API reference — health endpoint design.