A hundred sites, not one
One board for the whole portfolio: what got worse, where, and since when. Built for people running dozens of projects, not for auditing one and closing the window.
Command line · Source is open
Technical auditing for people who run many sites, not one. Compare crawls, catch what a deploy broke, and work through hundreds of thousands of URLs without bringing the machine to its knees.
Every two weeks: measurements, defects, worked examples. Nothing else.
You audit a site, hand over the report, changes ship. Two weeks later you crawl again and there are another thousand rows in front of you, with no way to tell which ones are new.
Now multiply that by every site you look after.
One board for the whole portfolio: what got worse, where, and since when. Built for people running dozens of projects, not for auditing one and closing the window.
What was resolved and what appeared after the last deploy. In your CI, it fails the build when something serious gets in.
Written in Rust. A table of two hundred thousand rows scrolls like your system's, because it is your system's.
A tool that asks for your staging credentials should be readable. And a rule that decides whether a client's page is indexable should be arguable. So the engine is open — and the app is what the subscription pays for.
No dates promised. A native interface is a lot of work, and the command line comes first.
The open part has no price and no plans to get one. If it saves you an afternoon a month, a recurring contribution keeps the rules catalogue growing.
Become a backer →You choose the amount. Cancel whenever.
Agencies and hosts that run this across a portfolio can sponsor the work at a level that matches what it replaces, with your name on the repository.
Talk to us →Invoiced, with VAT number.
If you are going to audit with this, check how it was measured first. The method sits next to every figure.
URLs in a single crawl, with memory flat
A news site with fifteen years of archive. Memory follows the pending queue, not the size of the site.
extraction differences against an established crawler
The same 300 URLs to both tools. Status, title, meta description, H1, canonical and indexability.
audit rules, each with its own test case
The rules are the product: when one is wrong, you stop trusting the whole report.
0.10.0 brings the rules that were missing to judge what the crawler already knew, and changes what counts as your own site. The interesting part is that performance dropped 24%, the regression test let it pass, and the first explanation I came up with was wrong.
26 Aug 2026It broke0.9.0 started checking where external redirects end up. The view that answers "which of my links are broken" still could not find them, because a 301 is not broken and nothing links the 404 at the end. Recording the data and showing it are two different jobs, and this is the second one.
26 Aug 2026It broke0.9.2 fixes something small: a crawl waiting on other people's servers no longer looks dead. What is worth telling is that I wrote the test, watched it go green, reverted the fix to make sure it would fail, and it stayed green. The test was covering the part that was not broken.
The work stays visible: what gets measured, what breaks, and how a real audit is run — with the commands and the numbers, on sites that exist. No download required to read any of it.