Was It Vibed?

We'll tell you if a website was built by a human or prompted into existence.
38 rules. No AI. Pure pattern matching.

language

Fetching HTML...

Analysis Signals

38 things we look at to figure out if a site was vibe-coded.

css

CSS Patterns

  • check_circleInline Style Density tracking
  • check_circleUnmodified Tailwind defaults
  • check_circleUtility-to-custom class ratio
  • check_circleCSS architecture detection
auto_awesome

AI Aesthetics

  • blur_onGradient background signatures
  • blur_onGlassmorphism / backdrop blur
  • blur_onFloating decorative blobs
  • blur_onExcessive border radius
  • blur_onGlow / colored shadows
  • blur_onScroll animation patterns
code

HTML Quality

  • terminalDiv soup ratio detection
  • terminalHeading hierarchy analysis
  • terminalForm accessibility audit
  • terminalAnchor nav detection
description

Metadata

Missing OG tags, default favicons, no robots.txt — the stuff people forget when they ship a prompt.

ROBOTS.TXT OPENGRAPH FAVICON
edit_note

Copy

Does the copy say "seamless," "leverage," or "transformative"? Yeah, we check for that.

LEXICAL ENTROPY SCALE
How it works

It's not just counting divs.

01

Tool fingerprints

v0, Bolt, and Cursor each leave specific traces in compiled output. We know what to look for.

02

Signal combos

One gradient doesn't mean much. But Tailwind + div soup + gradients + glassmorphism + three-column grid? That's a pattern.

03

Works on SPAs too

React apps ship a near-empty HTML file. We pull apart the compiled CSS and framework scaffolding to find the signals anyway.

Close-up of code editor showing pattern matching logic