7 min read
I had 4,500 installs and no way for anyone to pay me
A catalogued listing in an institutional directory, two published packages, a priced offer written months ago, and the page carrying that offer had never been on the website. The audit of my own distribution, with the numbers.
Last week I wrote that I sealed 106 artworks in Abuja and sold nothing. A reader asked a fair question: fine, but what are you selling, and where. I went to look. The answer was worse than the Abuja one.
I have a productised offer. Three tiers, written months ago, priced, with a guarantee attached. The component that renders it on the website is called Offer.tsx. It is finished. It was imported by nothing.
Not a broken link. Not a bad call to action. The page a buyer would land on had never existed. I had been publishing, speaking and shipping for months into a website with no door.
What the audit found
I traced every asset I own and asked one question of each: if somebody is convinced by this, what do they do next?
- Catalogue listing in an institutional developer hub
- a code repository
- Package installs across two published libraries
- a command line
- Project README, after the case study
- nowhere
- Last week’s essay, 2,000 words
- another page of claims
- Pages where the offer appeared
- 0
Five surfaces. Five dead ends. The catalogue entry offered five links and every one of them pointed at source code, because the only thing I had ever thought to publish was the work.
The mistake is the same one
In Abuja I built a tamper-evident record for an artwork and nobody bought anything, because an artist does not want a seal. They want to sell a painting.
Here I built a measurement instrument, gave it away, and watched the installs climb. An engineer does not want a measurement either. They want to stop being the reason the release is late.
Nobody buys proof. They buy what proof makes possible.
My own offer had the disease in its copy. The tiers were called Audit, Retainer and Licensing. The summaries promised an assessment, a report, an auditability score, a dashboard. Every one of those words describes proof. Not one of them describes a thing a buyer wanted to be able to do on Monday.
What changed
The tiers are now named after the outcome rather than the artefact.
- Ship the agent. The agent is built, risk will not sign it off, and nobody can say precisely what would change their mind. Three weeks later you have the verdict, the gaps and the owner of each one.
- Keep shipping. For teams releasing continuously, so sign-off stops being the thing that holds a release.
- Sell it as your own. For consultancies that want their own name on the verdict.
The deliverables did not disappear. They moved down into the detail, where they belong, as evidence the outcome will actually arrive rather than as the thing being bought.
Then every dead end got an exit, and each one sits in the same place: immediately after the thing admits its own limit. The browser verifier already said that a chain which verifies proves nothing was edited, and that a wholly forged chain verifies just as green. That is the honest moment to say the rest, which is that a chain cannot tell a risk function whether this agent should hold a wallet, or who answers when it spends wrongly.
The command line now prints one line after a scan, and only when the scan found something. A clean result says nothing, because a team with nothing to fix is not a buyer and interrupting them is noise.
What it stays free
The instrument, the format, the verifier and the library are open source and stay that way. That is not generosity. A measurement you have to pay for is a measurement you cannot check, and the entire argument of this work is that a claim nobody can verify is worth nothing.
So the commercial line has to sit underneath that sentence rather than on top of it. Run the thing on your own code first. If it tells you nothing you did not already know, you do not need me.
The part worth stealing
Open every asset you own. The repository, the package page, the directory listing, the last thing you published. Ask one question of each: if a reader is convinced right here, what do they do next?
Count the ones where the honest answer is nothing. I had five. Five surfaces built over months, each one working exactly as designed, and collectively a funnel with no exit.
A reader you convinced and then abandoned is more expensive than one you never reached.
Last week I said a count is not an economy. This week the same thing in a different register: distribution is not demand, and installing something is not buying it. I spent months confusing the two, and the only reason I know the exact number is that I went and counted.
O'Rume Dominic Uririe builds verification infrastructure for AI and blockchain systems. The measurement instrument is open source and the receipts library has no dependencies.