Agents build the tools. Code proves every number.
One command researches a niche, builds a working calculator, checks every figure against a primary source and ships it. That's 50+ live sites so far, earning 10,000 clicks a month. Nothing hand-written. No invented numbers.
$ node orchestrator.mjs --site example-cooking-converter --dry-run
Set it up once. It ships tools for every niche you point it at.
This isn't a service and it isn't a one-off build. You install the pipeline on your own machine, give it a niche, and it researches, verifies, builds and stages a tool site. Then you do it again. And again. The sites below came out of the same command you'd be running.
- Unlimited sites, unlimited niches. No per-site fee, no seat count, no metering
- Runs on your machine, your API key, your hosting. Nothing routes through me
- 14 anti-fabrication layers plus 5 originality layers, on every page it makes
- Eleven LLM providers behind one environment variable
- Everything it produces is yours, including the sites, the data and the repos
Who this is for
Solo operators
You want a portfolio of small tool sites that earn. Run the pipeline once per niche instead of hand-building each one.SEO agencies
You need pages a client's legal team won't flinch at. Every figure traces back to a named source, on every site you run it for.Indie hackers
You've watched AI content get de-indexed and you want the opposite problem. Fewer pages, none of them junk.It's free and MIT licensed. Stub mode runs end to end with no API keys, no model calls and no signup, so you can judge it before you trust it.
Two ways to make a page
The second one publishes less. That's the entire advantage.
The rule the whole thing runs on
The model never states a number. Code fetches every value, recomputes it, then re-fetches the citation to confirm it still says what was claimed. That refusal is the product.
Measured, not asserted
None of these are marketing figures. The engine numbers come from a test run you can reproduce against a clean checkout in under a minute. The traffic numbers are this operator's own Search Console totals.
# zero-config dry run. no keys, no model calls, real arithmetic. $ node orchestrator.mjs --site example-cooking-converter --dry-run 01..09 ok stage 04 validated 5 constants via L2-L5 us_cup_ml=236.5882365 water_g_per_cup=236.164 stage 10 blocked, awaiting human sign-off → Nothing published. The gate worked.
What it shipped
a sample of 50+ liveToolsThatRank has shipped 50+ live tool sites citing primary sources including USGS, HMRC and the IRS. Six are listed below.
Each one's a working calculator or live-data tool, not an article about one. The model didn't write a single figure on them. Code fetched and recomputed all of it. Every domain below was registered between 19 and 22 June 2026, so read the traffic as six weeks of compounding, not a mature fleet.
Built by Michael Lip, a solo developer whose code is merged into open-source projects with 237,000+ combined GitHub stars, including Prefect, Puter and Google's own Chrome extension samples. The same agentic pipeline runs every property below. None of it's hand-maintained.
Pull-request counts come from the GitHub API and exclude self-merges. Named projects: PrefectHQ/prefect, HeyPuter/puter, GoogleChrome/chrome-extensions-samples. Extension figures come from the Chrome Web Store listing. Revenue is Stripe-verified and live-synced, and was $345 MRR across 40 active subscriptions on . Traffic is this operator's own Search Console total across the fleet.
How a page gets made
Research runs first on purpose. Generate first and you're checking hallucinations afterwards. Go the other way round and there's nothing left to invent.
Research before writing
Agents read primary sources and extract claims. Nothing is drafted yet. A claim with no source is dropped at the door.
Validate every value
Each number gets fetched from its primary source, cross-checked against the median of its citations, then range and freshness checked. Anything that fails is held.
Generate against the bundle
Prose is written only from validated data. Every figure stays a token the build step fills from code.
Refute it
A separate agent attacks each claim. Two refutations out of three kills it. Then every cited URL is re-fetched and must still contain the claim.
Earn the ranking
Originality layers read what already ranks and score what this page adds beyond it. A page that only restates the competition is blocked.
Stop at the human gate
A clean run halts and waits for a person. The pipeline never publishes on its own.
Runs on any LLM
One environment variable, PSEO_PROVIDER. Name a model that doesn't exist and it throws a loud config error instead of guessing.
Where the guarantee stops
The floor is correctness. But correctness isn't a growth strategy, and pretending otherwise would be its own kind of fabrication.
Refuse to fabricate
No invented numbers, no uncited claims, no stale data presented as fresh. That floor holds under adversarial audit.
Build real utility
Working calculators and converters, not articles about calculators. Utility is what earns the ranking.
Manufacture authority
Links, brand and time still decide competitive niches. Correctness is necessary. It isn't sufficient.
Publish for you
Every clean run stops at a human gate. Deployment's opt in, and it degrades to a preview on any stack.
Who is behind this
One person, in public. The work happens where you can watch it, not behind a landing page.
Questions people actually ask
How do you stop an LLM from hallucinating numbers?
ToolsThatRank removes the model's permission to write numbers. Its 14 trust layers pin each figure to a cited primary source, and code recomputes the deterministic ones.
Can AI-generated tools rank in Google?
Google's March 2024 spam policies named scaled content abuse, which targets pages generated mainly to manipulate rankings rather than help anyone, no matter whether a human or a machine made them. A working calculator isn't that. Utility and verified data are what earn the position, and the originality layers block any page that only restates what already ranks.
What is a programmatic SEO pipeline?
A system that generates many pages from one template and a data source. Most produce thin, near-duplicate pages. This one won't emit a page whose numbers can't be traced back to a primary source. That's why it finishes fewer pages than it starts.
Is ToolsThatRank free to try?
Yes. It's MIT licensed, and stub mode runs the whole pipeline with no API keys and no model calls. So you can watch it validate constants and refuse to publish before you spend a cent. The repo goes public alongside the first tagged release.
Which LLM does it need?
Eleven, picked with one environment variable. Claude runs through the local CLI and that's the battle-tested path, while OpenAI, Kimi, GLM, DeepSeek and Ollama all share an OpenAI-compatible HTTP adapter. Get the model name wrong and it throws. Loudly, rather than guessing.