Anti-AI UI Guide
A checklist for user interface (UI) that a person, not a language model, would make. Use it yourself, or hand it to your AI assistant. Free to copy, download, or feed straight into Claude or ChatGPT.
Want your site rated?If you'd like to have your website or landing page rated, try out our favorite AI-UI detector, Slop Detector.slopdetector.tech# Anti-AI UI Guide A checklist for user interfaces that look like a person made them, not a language model. It's the visual companion to the Anti-AI Writing Style Guide, which covers the copy. Every item is a pattern that gives away generated work, paired with the fix. Use it as a design review, or hand it to the agent building your site so it has decisions to make instead of defaults to fall back on. The one idea behind the whole list: make decisions. Generated sites look generated because nobody chose anything, and every default left standing is another tell. A pattern in its stock form (default palette, default geometry, dropped in with no system around it) reads as generated. The same pattern with a real choice behind it (an off-default palette, a custom treatment, coherence with the rest of the page) reads as craft. That's the test when you're unsure whether something is a problem. --- ## Layout - **No feature-tile grids.** The most recognizable generated block is 3 or 4 identical cards in a row, each with a small icon, a bold subheader, and two lines of blurb. If features need listing, use a ledger, a table, prose, or an honest asymmetric layout. A logo marquee or a plain row of text badges is fine; the tell is the repeated icon-plus-subheader-plus-blurb card.- **No pill tags scattered around.** Fully rounded badge chips ("New", "Beta", "AI-Powered", category tags) sprinkled across a page. One is a design choice; a page full of them is a pattern.- **No announcement pill above the hero.** The "✨ Now in public beta →" capsule floating over the h1 is the canonical generated hero opener. Drop it.- **No eyebrow label either.** Its close cousin: a small uppercase phrase with a leading dot and a thin trailing rule, sitting above the heading ("· FOR EARLY-STAGE FOUNDERS"). Same reflex, different shape.- **No template skeleton.** The stock sequence is hero, logo strip, Features, How It Works (three numbered steps), Testimonials, Pricing (three tiers, middle one highlighted), FAQ accordion, "Ready to get started?" banner, footer. Reorder or drop sections and name them for your actual product instead of stamping out the template.- **No redundant sections.** If deleting a section changes nothing, it was written to fill a template slot. Cut it.- **Make the hero match the body.** When the headline promises something the sections never deliver, each part was generated without knowledge of the others.- **No stock CTA pair.** "Get Started" next to "Learn More" (or Start Free, Book a Demo, Try It Now, Join the Waitlist). Name the actual action. ## Styling - **No gradient washes.** Large blue-to-purple gradient backgrounds and gradient-clipped headline text are the default decoration of generated UI. If you want a gradient, make it a real choice, not the two-stop indigo-to-purple default.- **Skip the indigo/violet accent range.** It's the statistical center of AI color taste. Watch the fallbacks too: teams that avoid indigo tend to drift to emerald green or a warm amber/cream palette, which are becoming defaults of their own. Pick a color for a reason.- **Go easy on neon glow and glassmorphism.** Unmotivated glowing shadows or blur halos around buttons and cards (especially on dark backgrounds) and frosted-glass backdrop-blur panels are both common generated tells. Use them deliberately or not at all.- **Don't ship default typography.** Inter, Geist, and Space Grotesk are the overused generated font trio. Same goes for untouched shadcn defaults: lucide icons, `text-muted-foreground` tokens, the signature shadcn button classes. And watch the "warmth" reflex of dropping an italic Instrument Serif word into a sans-serif headline, as in "Ship *beautiful* products faster."- **No colored borders on cards.** A colored left or top border on an otherwise plain white card, repeated across a grid or pricing table, is one of the most recognizable tells.- **No emoji as icons, nav items, or bullets.** Emoji standing in for real icons anywhere on the page reads as generated. Use an icon set, or nothing.- **No decorative 1-2-3 step numbers.** A numbered 01 / 02 / 03 sequence stamped on something that isn't actually an ordered process. Numbers earn their place only when the section is a genuine sequence.- **Don't hide the page behind scroll animations.** If every section is invisible until a scroll-triggered reveal, the page is a blank sheet in any static capture. Animate deliberately.- **No "Built with ❤️" footer.** It ships with every template. Write your own. ## Imagery - **No AI-rendered illustration.** The waxy plastic-smooth look, oversaturated dreamlike lighting, and isometric 3D renders with the telltale sheen.- **No garbled text in images.** Illustrations with almost-words and mangled letterforms are a dead giveaway; image generators can't render text.- **No unfinished edges.** Objects melting into each other, wrong-geometry hands and devices, decoration trailing off into noise.- **Keep illustration style consistent.** Clashing styles across one page read as separate prompts, not art direction.- **Write real alt text.** Content images labeled "hero image", "screenshot", or nothing at all suggest images a generator slotted in.- **No fake product screenshots.** Mocked-up UI with placeholder data, impossible metrics, or charts whose numbers don't add up.- **No stock persona testimonials.** The too-tidy trio of three five-star quotes, initial-only avatars, one persona per continent, each occupation flattering a different use case. Names like "Sarah Chen" and "Mike Tanaka" are the clearest tell. Use real testimonials or none.- **No invented social proof.** A five-logo press strip (TechCrunch, Wired, The Verge) and a "Loved by 240,000+ users" badge on a site with nothing to back it up. ## Scaffolding and provenance These are the giveaways site builders leave behind. Clean them up. - **Don't ship on a builder's deploy domain.** `*.lovable.app`, `*.bolt.host`, `*.v0.dev`, `*.base44.app`, `*.created.app`. Buy a domain.- **Strip builder artifacts from the HTML.** The `gptengineer.js` script Lovable injects, asset paths under `lovable-uploads/`, a default builder OpenGraph image, "Edit with Lovable" / "Built with Bolt" / "Built with v0" badges, and any builder name left in the meta generator tag.- **Remove `lovable-tagger` from the build.** Lovable installs it by default and imports it into `vite.config.ts`. It's the most concrete Lovable fingerprint at the repo level.- **Replace the scaffold favicon.** A favicon still pointing at `/vite.svg`, or a builder's own icon, proves nobody touched the defaults.- **Have real legal pages.** On any site with pricing, signup, or a purchase flow, a missing Terms of Service or Privacy Policy is a structural tell, and a legal link that leads to an empty page is worse than none. Fill them in; leftover placeholders like "[Company Name]" or "[insert date]" are a smoking gun. --- Want to check your work? Slop Detector rates a live site against this list: https://www.slopdetector.tech/#/Feed it to your coding agent
AI-generated sites look generated because they're mostly a regurgitation of stuff from the internet. Give your agent this guide up front and force it to make decisions instead of relying on defaults. Paste it for one build, or save it where the agent reads instructions on every generation.

Claude
- 1
Paste it into a chat
Copy the guide above (or attach the downloaded
.mdfile) and start your message with “Build this so it doesn't trip any of these tells:” - 2
Make it stick in Claude Code
Drop the file into your repo as
CLAUDE.md(or reference it from one). Every generation in that project follows it without re-pasting.
Cursor, Lovable & other agents
- 1
Add it as a rules file
Save the guide as a Cursor rules file, or your agent's instructions file, so every component and page it scaffolds is checked against these tells.
- 2
Review the output against it
After a generation, run the finished page back through the guide (or through Slop Detector) and ask the agent to fix whatever it tripped.
This covers the UI. For the copy on the page, pair it with the Anti-AI Writing Guide, which catches the tells in the words themselves.
Want a site that doesn't look generated?
We help small businesses put AI to work without the generated-site smell, on the landing pages and product UI that carry your brand.
Talk to Tundra AI Labs →