Slop Patterns: a public library of AI design tells.

Open ten product launch pages from this year. You’ll see the same things. Three feature cards in a row, each with an icon, a bold line and two sentences. A tiny uppercase label sitting over every heading. A little pulsing dot next to “Now in beta.” A headline that fades from indigo to violet.
None of it is broken. That’s the problem. It’s the average, showing up on its own.
So we started writing it down. Slop Patterns is a free, public library of AI design anti-patterns. It documents 235 patterns so far. Each one says three things: what it looks like, why the tools produce it, and what to do instead.
Why name them at all
In the authorship post I defined slop as anything you shipped that nobody decided. That test works. It’s also hard to apply when you can’t name what you’re looking at.
“Something feels off” is not feedback a team can act on. A name is. Once a pattern has a name, a designer can point at it in review, a founder can ask for it to be gone, and an agent can be told to avoid it. Naming is the first step to deciding.
One example: The Unchosen Gradient
Indigo to violet. You’ve seen it on a thousand hero sections. Ask the team that shipped it why those two colors and you usually get a shrug.
That’s the tell. Nobody chose it. We traced it back to Tailwind UI’s indigo-500 default around 2019. It got copied across a huge number of sites, those sites ended up in training data, and now the tools reach for it when nothing else is specified. The pattern entry calls it The Unchosen Gradient, explains that lineage, and tells you what to do instead: pick a color for a reason you can say out loud.
Every one of the 235 entries gets the same treatment.
We checked whether this is real
It’s easy to say “everything looks the same now.” We wanted to know if it’s true, and since when.
Research note 01, The Same Page, is the first answer. We opened 4,725 Show HN launch pages as they were archived around launch, from 2016 to 2026, and ran the detector across them. We only counted rules that held up in a hand audit.
47% of 2026 launch pages carry at least one of six AI-era design tells. That’s 199 of 425. In 2016 it was 2 of 310.
Here’s the part I didn’t expect. Basic defects fell over the same period, from 72% of pages in 2016 to 37% in 2026. Pages got more correct. They also converged on the same few looks: three matching feature cards, the tiny uppercase label over headings, the pulsing dot, the gradient headline.
The rise also started before ChatGPT. Under 1% in 2016. 4.5% in 2019. 12% in 2022. 22% in 2024. 27.5% in 2025. 47% in 2026. The tools sped it up. They didn’t start it. Templates, component kits and defaults were already pulling everyone toward the middle.
And only about 2% of 2026 pages carry visible AI-builder markup. So this isn’t just people shipping straight out of a site generator. It’s people making the same choices, or more accurately, not making them.
One honest limit: the data can’t tell you who made any single page. It describes the population, not the author. A page with a gradient headline isn’t proof of anything on its own. The research is about the drift, not about calling anyone out.
How to use it
Browse it at sloppatterns.com. Every pattern has a permanent id, so a link you drop in a design review today still works next year. The library is versioned. The current release is v1.1.1, from 2026-09-23.
The library is MIT licensed on GitHub. Fork it, cite it, build on it.
If you design with agents, point them at the MCP server at sloppatterns.com/mcp. Agents can query it directly. No account, no key. That’s the use I care about most: the check happens while the work is being made, not after it ships.
If you want to see how a page scores, run it through Slop Score. The scanner code isn’t open. The library it checks against is.
Help us name the rest
235 is a start, not a finish. There are tells we haven’t caught yet, and new ones arrive every time a tool ships a new default.
If you keep seeing something and can’t unsee it, suggest it. Tell us what it looks like and where you’ve seen it. Suggest a pattern from the site, or open an issue on GitHub.
The point isn’t to shame anyone’s launch page. It’s to give every team the words to catch the average before it ships.
You can’t decide against something you can’t name.

