All posts
Chee AnnChee Ann
··Case StudyAI OperationsAEO

We Handed a Client a Website With No CMS. Two AI Agents Run the Blog.

The owner of this website has never logged into it. There is nothing to log into: no CMS, no plugins, no passwords, no content retainer. He publishes by reading a draft and saying yes, and the post is live about 3 minutes later.

We built and handed over the site in under two weeks, for a live-commerce enabler, a company that runs TikTok Shop operations for consumer brands. The unusual part is not what we built. It is what we deliberately left out, and what we put in its place.

The actual problem was never the website

The client asked for a website with AEO: answer engine optimization, so AI assistants like ChatGPT and Perplexity quote the company when a brand asks who can run live commerce for them.

But a site only gets quoted if it publishes evidence, and this is where every services company fails. The owner has real results every week: live session numbers, sell-through rates, problems solved. Nobody in the building has time to write them up. The default answer is a WordPress site plus a content retainer, and a blog that dies after four posts.

So the real requirement was not pages. It was a publishing system that runs on the owner's actual operations, at the cost of one decision per post.

A traditional website hands you a control panel and a troubleshooting queue. An AI-native website hands you an agent: say what changed, the agent drafts, previews, deploys and verifies, and you approve. Conversation in, structured evidence out.

Why we removed the CMS

The site is built on the same modern stack product companies use, and every file of it sits in an account the client owns outright. Blog posts are plain text files. An approved post publishes itself, live in roughly 3 minutes, with a full history of every change ever made.

What this removes:

The attack surface. Patchstack logged 7,966 new WordPress vulnerabilities in 2024, and 96% of them were in plugins. This stack has no plugins. There is nothing to patch on a Tuesday night.

The hostage situation. The client owns every file: every page, every post, every line of history. If they fire us tomorrow, they keep everything and any developer can run it.

The rendering problem. Every page is pre-rendered. AI crawlers and search engines get complete HTML instantly, with structured data, a sitemap, an RSS feed, and an llms.txt brief that all regenerate on every deploy. AEO is not a plugin you install. It is how the site is built.

The publishing system: two agents and a gate

Instead of a CMS, two AI agents live inside the website itself.

The publishing pipeline: day-to-day work feeds the Story Radar, the Publishing Agent drafts, nothing passes the gold gate without the owner's yes, and an approved post is live in about 3 minutes. Conversation in, structured evidence out.

The Story Radar reads the company's real operations data and proposes story candidates. Not content ideas. Events that already happened, with the numbers attached.

The Publishing Agent drafts the post and takes it to the owner for approval. It is number-gated: if the week produced no verifiable result, it says "nothing worth publishing this week" rather than manufacture an angle. Research on generative engine visibility (the GEO paper, KDD 2024) found that adding statistics and citations lifts a page's visibility in AI answers by roughly 40%. A post without a number is not just weak marketing. It is invisible to the machines it was written for.

The owner's entire job is the decision. Read the draft, yes or no. Approval happens where he already works, and a yes is live in minutes.

The taste loop

Here is the part we think matters most. Every yes and every no is logged to a taste file with the owner's reason, word for word. The Story Radar reads that file before proposing again, so every rejection makes the next pitch more like him.

The taste loop: propose, decide, log the reason, read the log, propose again. The hard rules sit outside the loop, frozen; taste never crosses that line.

The taste file sits next to the hard rules, and they never mix:

Hard rulesTaste
ExamplesNo real number, no post. Partner brands anonymous by default. Draft first, always.Which stories he picks. What he kills at preview. The words he crosses out.
Can it change?Never. No amount of approvals erodes it.Learns from every decision.
Who owns itSet once, enforced by the systemThe owner, one yes or no at a time

A rule that can learn is a rule that can be talked out of. So the rules stay frozen and only the ranking learns. We distill the accumulated taste into standing guidance monthly, by hand.

The handover

After go-live comes a 90-day stabilization window. About halfway through writing the handover we noticed what that window actually is: a training period. Every week it runs, the taste file grows. What we hand over at day 90 is not just a stable site. It is a documented profile of how this owner decides what is worth saying in public, which no agency retainer produces at any price.

What we cannot claim yet

The site went live on its production domain this week. AI-assistant citations and organic traffic take months to compound, and the measurement window runs 90 days. Until those numbers exist, we are not claiming them. On a site whose whole premise is "no number, no post", the case study plays by the same rule.

The playbook

For any services company whose proof lives in operations data nobody publishes:

  1. Own the asset. Every file of your site in your own account, portable, no platform lock-in.
  2. Remove what you cannot maintain. Every plugin is a liability with a login page.
  3. Wire the blog to real data. Stories come from operations, not a content calendar.
  4. Gate on numbers. No verifiable result, no post. AI assistants quote evidence, not adjectives.
  5. Freeze the rules, train the taste. Boundaries never learn. Ranking always does.
  6. Make approval the whole job. The owner's judgement is the scarce input. Spend it on yes or no, not on writing.

Related: We Handed Our Automation System to a Non-Technical Operator, the same principle applied to Google Ads tooling.

Want your operations data to become the marketing? Get in touch.