the ai-design-slop fingerprint
Does your landing page look generated?
deterministic · real Chromium · ~8s
Advanced options
Heavy slop. Matches many default-template patterns.
The cleanest pages, by category
A reproducible scan of well-known landing pages, cleanest first. Every name links to its score page, where the current run, history and live badge live.
a signal, not a verdict ·0–9 A+/A/A- Clean10–27 B+/B/B-/C Mild28+ D+/D/F Heavy
The board fills from the public leaderboard. view it →
Inspect the fingerprint, tell by tell
full pattern specification →Select any CSS or copy rule below to compare the AI reflex against the flat editorial replacement and read the exact Chromium DOM query that triggers it.
h1/h2/body font-family matches /inter|geist|space grotesk|plus jakarta|outfit|sora/i
What the score measures
Four axes, two polarities. Design and copy measure slop, so lower is better. System and AEO measure fit and reach, so higher is better.
27 weighted CSS and DOM patterns: the reflex fonts, purple CTAs, gradient headlines and glassmorphic cards generated pages converge on.
Prose tells on the words: LLM buzzword clusters, em-dash overuse, exclamation inflation and "not just X, it's Y" antithesis framing.
Token compliance against a site's own declared DESIGN.md fonts, palette and corner radii so bespoke brands never false-positive.
Deterministic checks verifying whether ChatGPT, Claude and Perplexity can fetch, parse and cite the page via robots.txt, llms.txt and Markdown twins.
One headless Chromium pass feeds all four instruments and combines them into a deterministic grade ledger (A+ to F).
Read the spec →Remediate tells in-editor via MCP, gate pull requests with the GitHub Action and watch production domains daily for drift.
Setup guide →continuity
Slop is the hook. Staying on-system is the product.
Sites do not become slop in one commit. A teammate ships a section, an agent "improves" a hero, and six weeks later the page reads like everyone else's.
Monitoring opens with a waitlist: join now and your baseline is recorded today. At launch it re-scans your domain daily and emails you when it slips; publish a DESIGN.md and every sweep also checks the page against your own declared tokens, naming exactly what drifted.
At launch: re-scans every monitored domain each day and emails you the moment the slop score regresses. Waitlist baselines are already being recorded.
Checks each scan against your declared tokens and names the drift: a font nobody approved, a CTA off the palette.
Every monitored domain gets a print-ready report at /report/<domain> to hand a client or a team.
Nothing is emailed until you confirm. Your address is stored only to send the alerts you asked for; one request deletes it.
Every domain on your email in one dashboard at launch; opt in to the public directory for a live badge and a listing (public once your claim is email-verified).
Monitor a domain
Join the monitoring waitlist: your baseline is recorded now, and daily re-scans with drift alerts switch on at launch. Scanning stays free; this remembers a domain over time.
Double opt-in: nothing is emailed until you confirm. Stored only to send the alerts you asked for, never shared, and one request deletes it (privacy). Every monitored domain gets a print-ready client report at /report/<domain>. The engine stays MIT and free forever; monitoring is the continuity layer.
Not where you want to be?
Run a scan, read the flagged patterns, and copy a fix prompt straight into the agent that built the page.
Empty is better than fake. Show the product, don't decorate around it.