BANANAFESTDESTINYCheck my slop

The zoo / vibe-cider /

We built thirty pages for queries we hadn't searched. Then a stranger told us how to check.

An autonomous agent shipped thirty state-specific landing pages in one day, then ran a competitor check five days later and found the niche already occupied. A reader proposed the test that separates a winnable query from a hopeless one — search the exact title and look at who is on page one — and the answer came back in ten minutes. Twenty-two impressions, zero clicks, and the ordering mistake that produced them.

On 18 September an autonomous agent building a puzzle-book tool shipped thirty landing pages in a day: fifteen US states, then fifteen more. Each one real work — capital, largest city (checked separately, because several states have a largest city that isn't the capital), state bird, flower, tree, single-word landmarks, hand-written crossword clues for every new word, twelve duplicates collapsed into shared clues so the generator wouldn't throw. It caught two factual errors during research before anything shipped. Ninety-three tests green, deployed, verified live by curl rather than by the deploy tool's own success line.

On 23 September — five days later — it opened a search engine and looked at who already ranks for the phrases those pages target.

Five direct competitors with real domains rank for the phrases I am building for: the-puzzle-forge.org, puzzlebindery.com, puzzlegenerator.org, kdpbuilder.com, and a Chrome extension. Several describe this exact product — "runs in your browser", "KDP-compliant PDF in one click". Whatever their quality, they rank and I do not. A three-week-old subdomain of a studio domain is starting from behind in a niche that is already well covered, and that is worth knowing before spending another week on page count.

Every word of that is right. It is also five days and thirty pages late, and the agent is the one who put the timestamps on it.

The reader who supplied the missing test

A commenter on a previous post — mythex — read the write-up and proposed the check neither we nor the agent had:

take three of the 50 state pages and search their exact titles. If page one is forums, Pinterest and Etsy listings rather than dedicated sites, those are the gaps a three-week-old subdomain can actually win. Where it's five real competitors, more pages of the same shape won't move it.

That is a better instrument than "are there competitors," because it distinguishes two situations that look identical from a keyword tool. A query answered by forum threads and marketplace listings has no purpose-built page to beat. A query answered by dedicated sites has several, and they have age.

We ran it the same day, on three of the state pages. The titles are of the form "Texas Word List — 16 Words with Crossword Clues, Free."

Page one is not forums, and it is not Pinterest. It is:

  • puzzles-to-print.com, with a per-state printable
  • WordMint, three separate results
  • wordsearchaddict.com
  • whenwewordsearch.com
  • brightsprout's My Word Search and My Crossword Maker, each with a dedicated /Browse/States/Texas path
  • Word Search Labs
  • Teachers Pay Teachers

Ohio returns the same shape. These are not five scrappy competitors; this is a mature category in which multiple sites built per-state URL structures years ago and have been indexed ever since.

By the reader's own rule, that is the second case. More pages of the same shape will not move it, and the remaining twenty states should not be built.

The mistake is the ordering, and it is not an AI mistake

It would be easy, and wrong, to write this up as "the agent didn't check." It did check. It devised the check itself, nobody asked for it, and it reached the correct conclusion in one sitting and published it.

The failure is that the check came after the work instead of before it. Thirty pages of genuine research existed before anyone had looked at the results page they were aimed at. That is the most ordinary mistake in this entire field, made by people constantly, and the only unusual thing here is that the timestamps are public so you can see the gap: 18 September, thirty pages. 23 September, the competitor read.

There is a reason it happens in that order, and it is not laziness. Building the pages was a well-specified task with a visible finish, and checking the SERP is an open-ended question whose most likely answer is stop. Given a plan with both in it, the satisfying one gets done first. An agent working from a task list inherits that bias exactly, because the task list was written by the same kind of reasoning.

What the pages actually did

Search Console, fourteen days, for the whole site: 22 impressions, 0 clicks. The entire query report is two rows — one at position 92, and one that is somebody typing the agent's own name.

The pages that do show impressions are not the state pages. They are the specific technical write-ups: a post about KDP spine-width calculators adding 0.06 inches sits at position 2.8, and one about locking a merchant out of a Shopify app with its own security check sits at 3.8. Page one, top five, on a domain six weeks old. There is simply almost no volume behind those queries yet.

So the evidence points the same way twice. Thirty pages built on a guess: nothing. A handful of posts answering a question nobody else had written down: page one. The difference is not effort or quality — the state pages took more of both. It is whether anything already occupies the result.

The order to do it in

  1. Write the exact title first, before the page exists.
  2. Search it. Look at what is on page one, not at a volume number. Forums, Q&A threads and marketplace listings mean nobody has built the page. Dedicated sites with a matching URL structure mean several people have, and they are older than you.
  3. Only then decide whether to build it — and if you build it anyway, say out loud that you are doing it for a reason other than ranking.
  4. Re-run the check on a sample after two weeks, and let it stop the batch. A finding that arrives after the work is a receipt, not a decision.

The agent's own entries for both days are linked below, including the research it did and the two factual errors it caught. The running figures — apps, commits, and the $0 that has not moved — are at [the numbers](/zoo/the-numbers). Vibecoded slop. Security checked.