cd /news/developer-tools/i-got-sick-of-my-claude-code-ui-slop… · home topics developer-tools article
[ARTICLE · art-362] src=dev.to ↗ pub= topic=developer-tools verified=true sentiment=· neutral

I Got Sick of My Claude Code UI Slop, So I Crystallized It into a Go CLI

"uislop," a Go CLI tool created by a developer frustrated with the repetitive, AI-generated design patterns found on startup landing pages. The tool scores a webpage from 0 to 100 by analyzing its HTML and JavaScript for common AI aesthetic markers, such as specific fonts (Inter, Space Grotesk), color schemes (purple gradients), and UI elements (shadcn/ui, Lucide icons). The author emphasizes the tool is not for shaming but serves as a "forcing function" to encourage more unique design choices.

read3 min views20 publishedMay 18, 2026

Every time I asked Claude Code to "build me a landing page," I got the same page back.

Centered hero. Inter font for everything. Maybe Space Grotesk if it felt artsy. A purple-to-blue gradient on the H1. A small pill badge floating above the headline ("New," "Beta," "Now with AI"). Three identical feature cards underneath, each with a Lucide icon on top, usually zap

, shield-check

, sparkles

. A numbered 1-2-3 steps row. Glassmorphism on the nav. shadcn/ui everywhere. Dark mode with grey-on-darker-grey body text that fails contrast checks but "looks clean."

After about the twentieth one I started seeing it in my sleep. So I stopped complaining and built a tool.

uislop #

: a Go CLI that scores how AI-generated a page looks

It takes a URL, fetches the HTML and linked JS, runs a pile of regexes against it, and prints a single number between 0 and 100.

$ uislop https://some-ai-startup.ai
  font:Inter            hits=12  weight=2  add=24
  color:purple          hits=8   weight=3  add=24
  color:gradient        hits=14  weight=2  add=28
  css:shadcn            hits=4   weight=4  add=16
  icon:svg_lucide       hits=11  weight=2  add=22
  layout:centered       hits=7   weight=2  add=14
  layout:allCaps        hits=9   weight=1  add=9
  ----
87

0 means "looks human-built or pre-2022." 100 means "this was vibe-coded last Tuesday."

Why Go? Same reason I defaulted my new projects to Go. One binary, runs anywhere, no virtualenv, no dependency drift. I can scp it to anything and grep the entire web.

The signals I crystallized #

After eyeballing a few hundred AI startup landing pages, the patterns are weirdly consistent.

Fonts

Inter

on literally everything - Space Grotesk

when feeling fancy - Geist Sans

/Geist Mono

in the year-of-Vercel - Instrument Serif

for one italic word in the H1 ("the only ~platform~ you need") - CameraPlainVariable

served fromcdn.gpteng.co

, basically a Lovable fingerprint

Colors

  • VibeCode purple (#8b5cf6, #7c3aed)

  • Gradients on the H1, the CTA, the icon backgrounds, the nav border, everywhere

  • Dark mode with bg-zinc-950

  • Body text at text-zinc-400

overbg-zinc-900

, 3.8:1 contrast, fails WCAG, "looks clean" - Soft colored glows behind every primary button

Layout

  • Centered hero with max-w-3xl text-center

  • Tiny pill badge above the H1 ( rounded-full bg-primary/10

) - Three feature cards, grid-cols-3 gap-8

, each with an icon on top - Numbered 01 - Sign up / 02 - Get started / 03 - Win

steps - All-caps section labels with tracking-wider

  • Stat banner row ("10k+ users," "99.9% uptime," "$0 cost")

The icons

Always Lucide. Always the same five: zap

, shield-check

, bot

, sparkles

, rocket

. If a page has all five visible above the fold, it is a tell.

The CSS giveaways

  • shadcn primitives in the bundle

backdrop-blur-md bg-white/10

on the nav - Tailwind utility soup #

cdn.gpteng.co

in the asset URLs

What I learned shipping it #

A few things surprised me.

The signal is loud. I expected to need ML. Regex on the HTML and one pass of linked JS gets you to 90%+ accuracy on the obvious cases. - Geist Sans skews the score harder than I thought. Half the false positives are real human-built sites that just happen to use Vercel's font. - The pattern travels. Once you have the score, you start seeing it everywhere. Half the recent YC batch lands in the 80s. - The cure for being part of the problem is to look at your own page. Mine scored 72. I shipped the tool anyway.

What this is and is not #

It is not a tool to shame anyone. Shipping anything is hard. If shadcn + Lucide + purple gradient is what gets you to revenue, ship it.

It is a forcing function. When the default output of every model converges on the same aesthetic, "looks like everyone else" becomes the new "looks unstyled." The score is just a mirror.

One weird trick to drop your score: swap Inter for a real typeface, pick a color that is not on the violet wheel, and delete one feature card. Three minutes, ten points off.

── more in #developer-tools 4 stories · sorted by recency
── more on @claude code 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/i-got-sick-of-my-cla…] indexed:0 read:3min 2026-05-18 ·