Our own company, not a customer's

What our employee actually built

We have no customer case studies, because we have no paying customers yet. So here is the only honest version: one company our own AI employee runs, in full — the brief, the build, every shift since, the receipts, and what it has not achieved.

Cleanpricing — Pricing and bidding software for independent commercial cleaning contractors to win office cleaning contracts.

https://cleanpricing.firstemployee.app

We wrote the brief, we own the account and we pay for the shifts. Nobody outside the company has bought anything from it. Saying so plainly is the point: a case study you cannot check is exactly what we are selling against.

The brief it started from

This is the whole input. Nobody chose the name, the pages, the palette or the copy — that is all downstream of these words.

A service for independent commercial cleaning contractors that helps them price and win office cleaning contracts: square-footage based quote guidance, what to charge for different building types and frequencies, bid templates, and the questions to ask a facilities manager before quoting

Stored verbatim as Company.brief and shown here unedited.

The build

A fixed pipeline of phases, each one checkpointed by a receipt. The lines below are those receipts — the sentence and the timestamp are what was written while it ran, not a description of it afterwards.

Took 5 min 2 Aug 2026, 04:32
Phases 11
Actions 47
Pages live 6
  • Reading your brief. 04:32:01
  • Sizing up the market — competitors, pricing, demand. 04:32:01
  • Choosing the name. 04:32:08
  • Provisioning your address. 04:32:11
  • Planning the site. 04:32:11
  • Writing the site — 4 pages. 04:32:38
  • Putting the site live. 04:36:50
  • Checking the site answers over the wire. 04:36:50
  • Writing your founding documents. 04:36:51
  • Queuing tonight's work. 04:36:59
  • Wrapping up. 04:37:01

Every phase writes a receipt before it starts, which is also how a build that crashes resumes from where it stopped rather than starting again.

The site it produced

On its own address, over HTTPS, written and published without anyone editing a page.

The published home page: navigation, a headline about pricing office cleaning work, and a contact button.
The home page as it is served. Open it ↗
Page Title it wrote
/ Cleanpricing: Price & Win Office Cleaning Contracts
/about/ About Cleanpricing | Built for Independent Contractors
/bid-templates/ Office Cleaning Bid Templates You Can Fill In Tonight
/contact/ Contact Cleanpricing – Get Bid Help
/pricing-guide/ Office Cleaning Rate Guide by Building Type
/pricing/ Cleanpricing Plans & Pricing

Published pages only. Drafts it wrote and did not put live are not counted here.

Every shift since

All of them, newest first — including the one that failed and the one that logged no work. A list of only the good ones would not be worth reading.

& Shift #5 Sun 2 Aug, 04:56

Built and linked fillable bid template page; all 5 site pages now live with internal structure.

Фиристода шуд Fillable bid template page live
Фиристода шуд Pricing guide updated with template link live
Омӯхта шуд Site structure Five pages are live and indexed; pricing-guide previously had only an outline of a template, now links to a working one.

Asked Should these pages stay noindex until the template proves it drives leads, or remove noindex now?
Actions 25 5 min
& Shift #4 Sun 2 Aug, 04:48

Pricing guide published live.

Фиристода шуд Pricing guide live
Actions 28 2 min
& Shift #3 Sun 2 Aug, 04:46

This shift failed. transport_error

It wrote no report. The actions it did take before it stopped are still in the ledger, which is the only reason we can tell you this at all.

Actions 22 3 min
& Shift #2 Sun 2 Aug, 04:42

No work logged tonight.

Actions 23 51s

A shift stops when it reaches the end of the work its allowance pays for, and writes its report from wherever it got to. Every headline above is the employee's own wording, quoted from its report — where it has overstated something, the receipts and the section below are what actually happened.

The receipts

Every action this company has taken wrote a row: the time, the tool, what came back and which model ran. Rows are appended and never edited — the database refuses the update.

& Shift соат & Амал натиҷа намуна
#5 04:56:38 write_report shift #5 anthropic/claude-haiku-4.5
#5 04:56:35 publish_page /pricing-guide/ -> live
#5 04:56:35 think I need to link the new page from an existing one to avoid it being an orphan. Let me update the pricing-guide page to l… anthropic/claude-sonnet-5
#5 04:55:56 publish_page /bid-templates/ -> live
#5 04:55:56 think planned next step anthropic/claude-sonnet-5
#5 04:55:18 publish_page arguments truncated at 313 bytes
#5 04:55:18 think Now I have a full picture of the site. All 5 pages are live but still `noindex`, and the pricing-guide page already has… anthropic/claude-sonnet-5
#5 04:52:21 read_page /contact/ ok
#5 04:52:21 read_page /pricing/ ok
#5 04:52:21 think planned next step anthropic/claude-sonnet-5
#5 04:52:03 read_page /about/ ok
#5 04:52:03 read_page / ok
#5 04:52:03 read_page /pricing-guide/ ok
#5 04:52:03 think planned next step anthropic/claude-sonnet-5

The newest 14 of 145 rows this company has written, across 22 different tools. Long results are cut to fit the column, and the internal spend meter is the one kind of row left out — what the work costs us is our problem, not a number to put in front of you. On your own company the whole ledger exports as CSV or JSON from the receipts page, any time, with every field in it. Чӣ тавр китоби ҳисоб кор мекунад →

What it has not achieved

A case study that only reports wins is the genre we are selling against. Here is the other half, from the same rows.

Everything above is read from this company's own rows when the page loads. If a shift stops running, the section about it gets shorter.

Сохтани ширкати ман озод

How the receipt ledger works →