The Critic: nineteen design checks on every build
The Critic is Anticode's design lint. After every page build, edit and restore it reads the exact HTML that would ship and runs nineteen checks, each aimed at a habit that makes AI-generated sites look alike. You see the result as a count in the status line and a pass-or-fail list in the Report tab, with a short detail for anything that failed.
What "looks AI-generated" actually means
People recognise a generated site within seconds, even if they can't say why. Usually it's a cluster of small defaults that models reach for because they've seen them most: a purple-to-blue gradient behind the hero, emoji standing in for icons, a tiny spaced-capitals label above every heading, one word of the headline in a different colour, a coloured glow under each button. Any one of them is harmless. Together they say nobody made a decision. An AI website design checker is useful because these tells are specific enough to detect in the code, so you don't have to rely on taste alone to spot them.
The nineteen checks, grouped
| Area | Checks |
|---|---|
| Colour and effects | No purple-to-blue gradient; no coloured glow under elements (a soft shadow of 40px blur or more in a colour other than black) |
| Type | One font family, or one pairing; not the fonts every AI site picks; body text at least 16px |
| Headlines | Not "X, not Y" or two clipped fragments; no lone word recoloured or italicised; no spaced-caps label over most headings |
| Words | No stock AI phrases; em dashes kept rare (two or fewer); no emoji used as icons |
| Motion and hover | No default ease curves; cards don't all lift on hover; hover does more than fade opacity |
| Layout and shape | The hero isn't forced to the full screen height; radius is assigned by role |
| Content that ships | Every link goes somewhere (no empty or bare # links, and in-page links land on a section; outside addresses aren't tested); the footer is more than a copyright line; no placeholder phone numbers such as 555 numbers |
Each check has its own page in this section explaining what it catches and how to fix it, starting with the purple gradient check. For the design thinking behind them, see why so many AI websites look the same.
How the checks are run
The Critic doesn't look at screenshots or ask a model for an opinion. It parses the finished HTML and its stylesheet and applies fixed rules: it collects the font families declared, the border-radius values used, the body font size and every box-shadow; it reads the visible text for stock phrases, emoji and em dashes; it looks at the main headline's wording and the elements inside it; it follows every link with a # target to see whether the element exists. Because the rules are deterministic, the same page always gets the same result, and a failure always names what it found, for example the phrase, the font or the glow.
On a site with several pages, every page is scanned. A check passes only if it passes everywhere, and a failure says which page it came from.
Written to pass, not patched afterwards
Anticode's design engine is built so its pages pass these checks in the first place: each of the seven design systems uses one typeface and assigns radius by role, and the engine's stylesheets avoid the habits the lint looks for. That means a failure is informative. It usually points at something you or a model added: a heading you typed with a stock phrase, an unfinished link, a font you asked for by name. Model-written apps are reported differently: their Report tab shows the server's own quality checks, and they are repaired against the design gate before they're shown.
Where you see the results
- Status line. After each run it reads Ready with zero tells, or Needs review with the number of issues across design and security.
- Report tab. Two lists: Sentinel for security and Critic for design, each with a count passed and a tick or cross per check.
- Release checklist. Runs every publish check on demand without publishing; see the release checklist.
What it doesn't decide
- Most checks don't block publishing. The Critic reports; the design gate is what refuses to publish, and it enforces a smaller set (including the gradient, stock phrases, placeholder text, empty links and a third font family) plus accessibility basics.
- Rules, not taste. A page can pass all nineteen and still be dull or confusing. The checks catch known tells; they don't judge your copy, your photos or whether the layout suits your business.
- Pattern matching has edges. A stock-phrase check looks for words like "next-gen", so a games shop selling next-gen consoles will see it flagged. Read the detail and decide.
- Design-engine pages. The nineteen checks run on pages from Anticode's design engine. They don't audit other websites.
Questions people ask
Can I use the Critic on a site I didn't build with Anticode?
No. It runs on Anticode page builds inside the builder. The checks are described one by one in this section, so you can apply them by hand to any site.
Will a failed check stop me publishing?
Only the checks the design gate also enforces, such as the purple gradient, stock phrases, placeholder text and empty links. The others are shown so you can decide.
Why two fonts if the rule is one font family?
The check passes one family or one deliberate pairing, and fails at three or more. Anticode's own design systems use a single family each.
Do the checks run after my own edits?
Yes. Visual edits, code edits, change requests and restores all rebuild the page and re-run the checks.