Was It Vibed?

Was It Vibed?

We'll tell you if a website was built by a human or prompted into existence.

Fetching HTML...

The forty-two signals

CSS Architecture

  • Inline Style Density
  • Tailwind Class Density
  • No CSS Architecture
  • Utility-to-Custom Class Ratio

HTML Quality

  • Div Soup Ratio
  • Heading Hierarchy
  • Form Accessibility
  • Button vs Clickable Div
  • Missing Lang Attribute
  • Single-Page Anchor Navigation
  • Dead Social Links
  • Missing Image Alt Text

Copy & Content

  • Em Dash Density
  • AI Buzzword Dictionary
  • AI Header Formulas
  • Inclusive Framing Pattern
  • Emoji as Icons
  • Three-Column Feature Grid
  • Placeholder Text in Production
  • Fake Testimonial Patterns
  • Sparkle Emoji Overuse

AI Aesthetic

  • Gradient Backgrounds
  • Gradient Text
  • Glassmorphism / Backdrop Blur
  • Scroll Animations
  • Excessive Border Radius
  • Glow / Colored Box Shadows
  • Floating Decorative Blobs
  • Eyebrow Labels
  • Numbered Section Markers

Meta & Infrastructure

  • Default Page Title
  • Missing Open Graph Tags
  • Default Favicon
  • No Sitemap / Robots Reference
  • Source Maps in Production
  • Console.log in Production
  • Wrong Copyright Year

Framework Defaults

  • Default Deployment Subdomain
  • Boilerplate HTML Structure
  • Default Error Page
  • AI Tool Stack Fingerprint
  • AI Builder Provenance

It's not just counting divs.

  • Tool fingerprints

    v0, Bolt, and Cursor each leave specific traces in compiled output.

  • Signal combos

    One gradient doesn't mean much. Tailwind + div soup + gradients + glassmorphism + a three-column grid does.

  • 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.