/brand · the identity system

A detector that refuses to look like the thing it detects.

CLEAN0 A+this page scores 0/100 · A+ · Clean

slop-detect scores how generated a landing page looks. So the identity that ships it has to score zero on its own scan. Below is that identity, and the reasons it passes.

01the mark

One drawn shape, one verdict dot.

The mark is a scan reticle: four viewfinder brackets around a single green dot, the verdict. It is the only drawn shape in the system. Anything else that looks like an icon is a Unicode glyph, because an icon font would itself trip the detector.

The slop-detect reticle mark on paperon paper · #F4F5F2
The slop-detect reticle mark on inkon ink · #16170F
Keep the dot the verdict green.Never fill the brackets.No gradient, no glow.Minimum size 16px.
02the wordmark

Lowercase, hyphenated, monospace.

The wordmark is the mark plus the literal string set in JetBrains Mono, 700, tracking -0.01em. It is written the way you would type it into a terminal, because that is what it is: a command, not a brand name.

slop-detect
doAlways lowercase. Always hyphenated: slop-detect.
doAlways JetBrains Mono at 700. Never a serif, never a sans.
doRender it as the mark plus live text, so it stays crisp and selectable.
03color

Five colors. No purple anywhere.

Cool paper, near-black ink, and the three verdict hues. Green is clean, amber is mild, red is heavy. Color is never decoration here; it always encodes a score. Each swatch prints its hex, so the palette reads without relying on color alone.

paper
#F4F5F2
Page surface. Cool neutral, never cream.
ink
#181815
Text and the mark on light. Near-black.
clean
#1FA85E
Clean tier, the verdict dot, the accent.
mild
#D89A2E
Mild tier. The warning amber.
heavy
#C9402E
Heavy tier. The slop red.

Purple appears exactly once in the whole system, as one of six letter-avatar backgrounds. It is data, never a button, accent, or brand color. A purple call-to-action is the loudest tell the detector knows, so it lives nowhere near one.

#C9402E#9A6B12#15824A#46473F#2C6E8F#7A4D9A
04typography

Three faces, each with a job.

Newsreader carries display and voice, and is never used for body. Libre Franklin carries all prose. JetBrains Mono carries anything that reads as data, a label, a score, or code. All three load from Google Fonts.

Newsreader · display & voice, serif
500 · italic 400 / 500
Does your landing page look generated?
Libre Franklin · body & UI, grotesque
400 · 500 · 600 · 700
A score is a fingerprint, not a verdict. Everyone uses AI now; this measures how generic the result reads, nothing about the team behind it.
JetBrains Mono · data, code & labels
400 · 500 · 700
0/100 · A+ · Clean · npx slop-detect yourdomain.com
05voice

Critique the page, never the person.

A score reads the page, not the team behind it. The voice is a senior designer reading the page back to you: dry, specific, and a little funny. Same register at every tier.

Clean

Clean. Real type, honest spacing, a layout that knows what it is for. Nothing to fix here.

Mild

Mild. Mostly considered, but the gradient hero and the three icon cards are reflexes, not decisions.

Heavy

Heavy. A default sans, a glowing call-to-action, an aurora blob, a centered headline. It reads like the tool that made it, not the company that shipped it.

06the badge

A score you can embed.

The badge is two segments: a dark slop label and the tier-colored grade and score. It is the one element in the system allowed a shadow, a flat 1px one, because it has to read on top of someone else's page.

slopA+ · 0slopC · 24slopD · 41

Markdown embed

<!-- paste into any README or page -->
[![slop-detect](https://slop-detect.com/badge/yourdomain.com)](https://slop-detect.com/score/yourdomain.com)
07principles

What keeps this page clean.

The same rules the detector checks for, stated as a habit. Empty is better than fake.

do
  • Show the product. Screenshot the real thing.
  • Use real type and let it set the rhythm.
  • Let whitespace carry the hierarchy.
  • State the score plainly, good or bad.
  • Cite the source. Link the method.
don't
  • Add a gradient so it feels expensive.
  • Reach for the default font stack.
  • Color the main button for the vibe.
  • Decorate an empty section to fill it.
  • Use a sparkle glyph to signal AI.

See if your page looks generated.

One scan, about eight seconds, no signup.

How the score works ↗

Empty is better than fake. Show the product, don't decorate around it.