Field guide · AI systems · July 2026
Stop rebuilding SMB websites by hand: a grade-classify-rewrite-verify pipeline.
Most small-business websites that need a refresh do not need a new brand strategy. They need a repeatable path from \"this site is weak\" to \"this site is shippable,\" without a designer redoing every page from scratch and without an LLM inventing stock photos of people who do not w.
Posted July 15, 2026
Most small-business websites that need a refresh do not need a new brand strategy. They need a repeatable path from "this site is weak" to "this site is shippable," without a designer redoing every page from scratch and without an LLM inventing stock photos of people who do not work there.
The failure mode is familiar. Someone pastes the URL into a chat tool, gets a prettier homepage draft, and then spends days fixing what the draft broke: wrong vertical, stock faces that look like a stock pack, broken links, a preview that does not match production, and no way to re-run the same quality bar on the next hundred sites. One-off generation is cheap. A pipeline you can trust is the product.
This piece describes a pipeline shape Rarefied Earth has used as a working pattern for prospect-facing site refurbishment: grade the existing site, classify the business, rewrite with an LLM under hard constraints, emit a static build, verify it, cache the result, and only then open a preview. Image selection is its own discipline, not an afterthought. The implementation that first proved the pattern belongs to a client engagement and is not reproduced here. The stages and the image rules are the reusable part.
The stages, in order
Treat each stage as a gate. A later stage does not run until the earlier one produces a structured result you can store and re-check.
- Grade. Score the live site on a fixed rubric before you touch content: load basics, mobile readability, broken assets, thin copy, missing contact paths, obvious trust gaps. The grade is a number plus a short evidence list, not a vibe. Without a grade, every rewrite looks like an improvement because there is no baseline.
- Classify. Map the business to a vertical bucket and a long-tail alias when the bucket is rare. Classification drives copy tone, section order, and which image pool is allowed. Getting this wrong is how you end up with a landscaping company using restaurant hero language.
- LLM rewrite. Generate page copy and structure from the grade notes plus the classification, under a prompt contract that forbids inventing credentials, phone numbers, addresses, reviews, and team bios you do not have as inputs. The model fills gaps with honest placeholders or omits the section. It does not fabricate.
- Static build. Compile the approved content into a static site (HTML/CSS/assets) with a deterministic layout for that vertical. Static output is the point: cheap to host, easy to diff, easy to cache, and hard for a runtime dependency to surprise you at preview time.
- Verify. Run automated checks on the build: link integrity, required sections present, no leftover placeholder tokens, image metadata gate (below), mobile viewport sanity, and a content hash so you know whether the next run changed anything. Fail closed. A pretty preview that fails verify does not ship.
- Cache. Store the graded inputs, the classification, the generated artifacts, and the verify report keyed by business identity. Cache is how you avoid paying for the same LLM rewrite twice and how you prove what changed between runs.
- Preview. Only after verify passes, expose a preview URL. Human review sits here: accept, reject with notes, or re-run from a named stage. Preview is not where grading starts.
If you collapse these into one "AI rebuild" button, you lose the audit trail and you lose the ability to re-run only the stage that failed.
Curated images are a separate pipeline
Copy is the easy half. Images are where refurbishment quietly becomes uncanny.
A usable image discipline for this kind of work looks like this:
- Per-vertical pools. Maintain vetted landscape and ambient stock sets per vertical (job site, storefront exterior, tools on a bench, empty workshop). Prefer face-free images. Faces invent employees that do not exist.
- Long-tail aliasing. When a business does not match a primary vertical, alias it to the nearest pool rather than inventing a new aesthetic from scratch. Determinism beats novelty.
- Deterministic rotation. Pick images from the pool with a stable hash of the business name (or another stable ID), so the same business gets the same heroes on re-run and different businesses do not all share the first three files in the folder.
- Metadata quality gate. Reject portraits, face crops, map tiles, screenshots of unrelated UIs, and anything the metadata or a cheap classifier flags as a person-forward shot. Defense in depth: pool curation first, automated reject second. Do not rely on the LLM to "pick a good photo."
This is not taste policing. It is how you keep generated sites from looking like a random Unsplash montage with stock models standing in for the actual crew.
What a reader can build without our code
You do not need our client implementation to use the shape.
- Write a one-page grading rubric with five to eight scored dimensions and a pass/fail threshold.
- Define ten vertical buckets and an alias table for the long tail.
- Put image pools in folders named by vertical; ban portraits by policy before you automate anything.
- Script the LLM rewrite to accept only structured inputs (grade JSON, classification, allowed facts) and to refuse missing contact data instead of inventing it.
- Emit static HTML into a dated output directory; run link and placeholder checks before any preview host sees the files.
- Cache inputs and outputs by business ID; log which stage last ran and which stage failed.
- Put a human accept/reject on the preview. Keep the reject notes as the next grade input.
The first three sites you run this way will teach you which rubric dimensions matter and which image rejects fire too often. That is the dogfood window. Do not productize the pipeline until those three runs produce fewer surprises than hand rebuilds.
Honest limits
- This pattern is for refurbishing existing SMB marketing sites, not for greenfield product apps or authenticated portals.
- LLM rewrite quality tracks the quality of the grade notes and the fact pack. Garbage inputs still produce confident garbage; the verify stage only catches structural failures, not subtle factual drift you never supplied as a check.
- Image pools require ongoing curation. A stale pool is how every HVAC site starts sharing the same three skylines.
- The client-owned implementation that proved parts of this pattern is not open-sourced here. Treat this as a field guide to the workflow, not a drop-in repo.
Claims to verify before treating figures as settled
- No vendor prices or third-party tool rankings from the flywheel web harvest are repeated as facts in this piece; landscape links in the research bundle remain leads only.
- That the stage list still matches the live pattern description at publish time.
- That no client name, engagement dollar figure, or proprietary path appears in the prose.