Our Longest Incident: Two Days Down, and Why We Moved Everything Off Vercel
Last week we had the longest incident in PulseWatch's history. The dashboard, status pages and API were unreachable for two full days. The cause was not a bug in our code. We hit the limits of our Vercel plan, and the platform stopped serving our traffic.
This post is the honest account: what broke, why it broke, and why we moved everything, including this website, onto our own servers.
What happened
Vercel's function limits left no room for us to recover. We could not scale up, and we could not move traffic fast enough. For 48 hours, customers could not check their monitors or view their status pages. That is the worst outcome for a monitoring product, and it is on us.
Halfway through, we sent an email to every account saying PulseWatch was down. We did not want anyone refreshing a dead dashboard and wondering.
We did not lose any data. Monitors, incidents, history and accounts are intact. What we lost was availability.
Why we moved
This is not the first time we have moved. The short version of our hosting history: we started self-hosted, moved to Render, moved to Vercel, and now we are back to self-hosting. Each move had a reason, and this one is simple. We cannot afford a platform that takes our service offline when we need it most.
Self-hosting is more work. We own the backups, the upgrades and the 3 a.m. alerts. But we also own the capacity. If traffic grows, we add a server. Nobody else can cut us off.
What changed
- Moved The PulseWatch dashboard, API and status pages now run on our own infrastructure.
- Moved This marketing site and blog moved too. Everything now lives under pulsewatch.pignatiello.online.
- Unchanged Your accounts, monitors and history are untouched.
- Unchanged The public status page and monitoring API endpoints still work.
What we are doing about it
We are adding capacity headroom and a failover plan so a single platform limit cannot take us down again. We will also publish a post-mortem with the full timeline and the capacity numbers once the dust settles.
If you were affected, we are sorry. Reach out through the comment section below and tell us how two days without monitoring hurt you. That feedback will shape what we build next.
The PulseWatch Team
💬 Comments
Questions, corrections or thoughts on this post? Join the thread below.