# How we built our own status page

30 October 2026

![A sun with a heartbeat across it, setting into a banded sunset over a skyline of bars](https://fiveb.ar/img/blog/how-we-built-our-own-status-page.svg?v=cae112df)

A status page needs to stay up when the service it reports on doesn’t. It saves everyone a support email, and tells customers plainly whether you’re up or down.

Ours is at [status.fiveb.ar](https://status.fiveb.ar). It’s a small Go script on a server of its own that checks every part of fivebar once a minute and writes a plain page. The whole thing is about 1,500 lines, with nothing outside Go’s standard library. It costs us five bucks a month and took less than an hour to build.

![status.fiveb.ar: everything working, a grid of the latency between fivebar’s seven cities and its core, then visitor counting, the dashboard and API, and DNS, each with 90 days of history](https://fiveb.ar/img/blog/status-light.webp?v=6ef41d88)

status.fiveb.ar on 30 October 2026.

## Why not a hosted one

There are very good hosted status pages, that are reliable and have been around a while. These are the ones we looked at.

| Service | What it is | Free plan | Paid from |
| --- | --- | --- | --- |
| [Atlassian Statuspage](https://www.atlassian.com/software/statuspage/pricing) | Status page fed by your own monitoring, no MCP server of its own | 100 subscribers | $29/mo |
| [Better Stack](https://betterstack.com/pricing) | Monitoring, on-call and status pages, with its own [MCP server](https://betterstack.com/docs/getting-started/integrations/mcp/) | 10 monitors | $34/mo per seat |
| [Instatus](https://instatus.com/pricing) | Status pages with monitors, no MCP server of its own | 15 monitors | $20/mo |
| [UptimeRobot](https://uptimerobot.com/pricing/) | Monitoring with status pages, with its own [MCP server](https://uptimerobot.com/mcp/) | 50 monitors | $12/mo, yearly |
| [Uptime Kuma](https://github.com/louislam/uptime-kuma) | Open-source monitor you host, no MCP server of its own | Open source | Self-hosted |
| [Upptime](https://upptime.js.org/) | Open-source monitor on GitHub Actions, no MCP server | Open source | None |

Prices in US dollars, from each service’s pricing page on 30 October 2026. Statuspage, Instatus and Uptime Kuma have community-built MCP servers.

We still made our own, because it suits how we run fivebar. Most of it runs on infrastructure we built ourselves, as a CDN with servers in seven cities. So each minute our checker asks every city to fetch fiveb.ar’s sign-in page from our core servers and pass it on, the same trip a real visitor’s request makes. A check on one URL can’t tell you that.

fivebar’s pages also load nothing from other companies, and we didn’t want our status page to be the exception. Its fonts, logo and stylesheet are built into the script, and fivebar counts its visits like any other site.

## Honest about our own problems

A status page is only worth having if people believe it. Ours runs with a different provider from everything else, so it stays up when we don’t. It double-checks before calling anything down, and if the checker stops, the page says so rather than staying green.

When something goes wrong, we write a short note on what happened and whether anything was lost. A city that can’t reach the core keeps its visits until it can, so they’re counted late, not lost.

## What you’ll see

At the top is a grid of how quickly each of our cities reaches the others and the core. Each city measures this itself, and the checker adds a row of its own from outside fivebar, so a slow link shows at a glance.

Below that are visitor counting, the dashboard and each city, with 90 days of history. The share of minutes up is rounded down, so one bad minute never shows as 100%.

## One your AI assistant can read

fivebar is built to be used through AI assistants, so the status page is too. It publishes the same information as [data for apps](https://status.fiveb.ar/status.json), with an [llms.txt](https://status.fiveb.ar/llms.txt) explaining it.

Ask Claude or ChatGPT why your visits dipped on Tuesday and, through fivebar’s [MCP server](https://fiveb.ar/docs/mcp.md), it can check whether we had a problem that day before looking at your site. The hosted services’ MCP servers help you run your own monitors. Ours is for our customers, so their assistants can tell when a dip was down to us.

If you’re curious, have a look at [status.fiveb.ar](https://status.fiveb.ar). We hope you’ll mostly find it green.
