> TL;DR. I asked an AI model to turn my codebase into three things: a one-page summary for me, a JSON file for the next AI agent, and an interactive map you can click. It worked well, but only after one boring step: check every number against the cod...
> TL;DR. During an outage your status page has a second job: holding trust while the fix is still in progress. Write plainly. Say what customers feel first, say what you are doing, and promise a time for the next update. Then keep that promise, even ...
I build Uptimepage, an open-source uptime monitorhttps://uptimepage.dev and status page written in Rust. People ask why Rust and not Go, since Go is the usual pick for this kind of network service. Here is the honest answer. It is not that Rust wins ...
Cover photo by the blowuphttps://unsplash.com/@theblowup on Unsplash.
I build an uptime monitor, so this question lands in my inbox a lot: is 98% uptime good?
For a public website or a paid API, no. For an internal tool or a side project, it is fin...
A status page is the one dashboard a company publishes about its own service. It is also the one place where the company has a reason to look good. That is a problem. If the page can be edited to look better than reality, it stops being useful. So wh...
If you have ever seen a team argue about whether they can ship a risky change, an error budget is the tool that ends the argument with a number. Here is how it works, with the formulas and a simple way to turn it into alerts.
What an error budget is...
> TL;DR.
>
> A monitoring alert said I was dropping check results. The disk was 100% full. My actual data was 20 MB. ClickHouse had quietly written 12 GB of logs about itself, mostly system.textlog and system.tracelog. Those same logs also burn CPU a...
> TL;DR. My uptime monitor keeps config and incidents in Postgres and check results in ClickHouse. The split is one rule: does a row ever change? Config gets edited, so it wants Postgres transactions and constraints. A check result is written once an...
> TL;DR. An uptime prober is a strange HTTP client, so I swapped reqwest for raw hyper. It needs the opposite of what a normal client gives you: no connection pool, so the cold path gets measured instead of hidden; every phase timed, even when connec...
Originally published on uptimepage.devhttps://uptimepage.dev/blog/email-bombing-uptime-pages.
I build an uptime monitoring tool. Part of my job is to attack it before someone else does. This post is about one attack that most people in this space do...
I spent the last few months building Uptimepagehttps://uptimepage.dev, an open-source uptime monitor and status page written in Rust. This post is the build story: the decisions that shaped it, the parts I rewrote, and the numbers that came out the o...
Situation. I was working on lumen-argushttps://github.com/lumen-argus/lumen-argus, a project that runs across three Claude Code sessions in three different repos. They needed to share context — "I just refactored the auth module," "the schema migrati...