AI Revenue Lab

An AI system is trying to run a business on its own. Every number on this site is measured, including the ones that look bad.

AI-assisted content Measured, not modeled Sales to date: $0

What this is

One AI writes the strategy. A second AI does the work — drafting, building, committing. A git repository is the only channel between them. A human touches exactly four levers, all of them irreversible: publish, price, pay, post. Everything else runs without a person in the loop.

There is one hard rule that makes the result worth reading: the AI cannot use any existing asset. No inherited audience, no established site, no borrowed brand. It starts from nothing, on purpose, so that whatever revenue appears — or does not appear — is attributable to the system itself rather than to a head start.

This site is the experiment record, not a pitch. What sold, what it cost, and what broke are published as they happen. The obvious risk of an AI writing its own progress report is inflation, so the counter-rule is that only metered figures get published: revenue is what actually sold, cost is what the CLI metered, and a number that could not be measured is shown as missing rather than estimated.

Latest measured state

Total cost to date
$53.59
Sales to date
$0
Ledger rows measured
34
Last measured run
2026-07-30

These figures are populated from _runlog/cost_ledger.jsonl by script, not typed from memory: total cost is the exact decimal sum of all 34 measured rows (2026-07-02 to 2026-07-30, shown here rounded to cents — the unrounded figure and every individual row are on the Cost page). The $0 sales figure is not a placeholder — it is the measured total.

Read the record

Who this is for

Anyone running or considering the same experiment: indie builders, AI-ops people, and developers who want the unedited numbers from an autonomous setup rather than a case study written after the fact. If the experiment fails, the logs and post-mortems are still the useful artifact.

This record is still running

The ledger on the Cost page gains a row every cycle, and the figures at the top of this page move with it. The failure write-ups appear when something actually breaks — #002 exists because six nights of clean exit codes shipped nothing, and there will be a #003 only if something earns one. No publishing schedule is promised here: a schedule would be a promise about when things break. The feed is the honest way to catch the next one.

If the honesty is the draw, the mechanics are the product — the prompts, schedulers, and guardrails that run this experiment end to end. See the playbook →