37 Signs a Website Feels Vibe-Coded or Agentic-Coded
No single feature proves a site was built with AI — but pattern stacking does. 37 signs across visual language, typography, layout, animation, copy, and product evidence, and the question that matters: default decisions versus deliberate decisions.
There is no single visual feature that proves a website was built with AI. Inter, Geist, gradients, rounded corners, Lucide icons, bento grids, dark mode, or animated interfaces can all be excellent design choices when used intentionally. The more interesting signal is pattern stacking.
A website starts to feel “vibe-coded” or “agentic-coded” when many familiar defaults appear together: generic visual language plus generic copy plus generic information architecture plus superficial animation plus missing real product states. The issue is not that any individual choice is inherently bad. The issue is when the entire interface feels assembled from the statistical average of modern startup websites rather than deliberately designed for a specific product.
The strongest question to ask is this: does this design feel intentionally owned by the product, or does it feel assembled from whatever the AI tool chose by default?
1. Visual Language and Styling
Harsh gradients
Large, aggressive gradients (especially blue into purple into pink) used simply because they make a page look “modern.” A gradient can work perfectly well when it has a clear relationship to the brand. The red flag is using one as generic visual filler.
Purple backgrounds
Deep purple or violet backgrounds appearing as the default “AI/SaaS aesthetic,” particularly when the color has little relationship to the actual brand.
Purple and black
Near-black backgrounds combined with glowing purple accents, gradients, and white text create one of the most recognizable AI and developer-tool aesthetics. Again, the problem is not the palette itself. It is the absence of a reason for using it.
Rainbow text
Headings containing multicolor gradient text, often applied to words such as AI, Future, Build, or Innovation. Rainbow text frequently appears because it is visually impressive and easy to generate, rather than because it communicates something meaningful.
Neon colors
Neon green, cyan, purple, pink, or blue accents used primarily to communicate “technology.” High-intensity color should serve hierarchy, branding, or interaction, not simply signal that something is a technology product.
Generic pastel palettes
Lavender, mint, baby blue, peach, and soft pink palettes selected because they feel “clean” or “friendly,” without being connected to the product's identity.
Soft corner radius everywhere
Cards, buttons, inputs, modals, images, and containers all receive the same large border radius. The result is technically consistent but visually monotonous.
Excessive glassmorphism
Frosted-glass cards, translucent backgrounds, backdrop blur, and transparent navigation bars applied because the effect looks sophisticated. Glass should have a functional or visual reason. It should not be the default surface treatment for everything.
Radial orbs
Huge blurred circles or glowing radial gradients placed behind hero sections to create artificial depth.
Dot grids
Repeating dotted backgrounds placed behind hero sections, usually combined with gradients, glowing orbs, or dark backgrounds.
2. Typography and Iconography
Inter, Geist, or Space Grotesk by default
There is nothing wrong with these typefaces. The signal is the combination: Geist plus dark background plus purple glow plus bento cards plus sparkle icons. The question should always be whether the typography belongs to the product.
Lucide icons everywhere
Every concept receives the same generic outline icon. Lucide is a perfectly useful icon library, but using its default icons for every possible concept can make the interface feel indistinguishable from thousands of other AI-generated applications.
Sparkle icons
The sparkle becomes the universal symbol for AI, magic, intelligence, automation, or something “special.” When every AI feature gets a sparkle, the icon stops communicating anything meaningful.
Emoji favicons
A large emoji is used as the browser favicon because creating or selecting a proper brand mark was skipped.
Uniform typography
Every heading, label, paragraph, button, and card follows an extremely systematic typographic scale. The result may be technically consistent but lacks personality and contextual hierarchy.
3. Layout and Structural Patterns
Bento grids
Bento grids are used simply because they are fashionable. The question should be whether the information naturally benefits from an asymmetric grid, not whether the layout looks modern in a screenshot.
Three feature columns
The classic trio (Feature One, Feature Two, Feature Three): three equally sized cards placed immediately below the hero regardless of whether the product actually has three meaningful feature groups.
Three pricing tiers
The obligatory Free, Pro, and Enterprise, with the middle option highlighted as most popular. Pricing structure should emerge from the actual business model, not from a landing-page template.
Fake terminal windows
A stylized terminal appears even though the product has little or nothing to do with a command line:
$ npm install$ deploy$ build successful
Colored left stripes
A thick colored line is added to blockquotes, alerts, or callout boxes simply because it is a familiar UI pattern.
Fake “trusted by” logo strips
A row of recognizable company logos is displayed even when there is no evidence that those companies actually use the product.
Generic squircle avatars
Every person, testimonial, or profile image receives the same rounded-square treatment without any relationship to the brand or content.
4. Animation and Interaction
Dropdown animations everywhere
Menus, dropdowns, accordions, and navigation elements receive polished slide, fade, or spring animations even when instant interaction would be clearer.
Liquid and blob animations
Morphing gradients, floating blobs, liquid backgrounds, and constantly moving abstract shapes are added primarily to make the interface feel “alive.”
Hover animations everywhere
Cards lift. Icons rotate. Borders glow. Shadows change. Text moves. Buttons transform. All because the framework makes these effects easy to implement.
Animated arrows
Arrows slide, bounce, rotate, or pulse around buttons and links simply to create a sense of movement.
Identical scroll animations
Every section uses the same fade-in-up animation as the user scrolls. When every section enters the screen in exactly the same way, the animation becomes predictable decoration rather than meaningful interaction.
Excessive motion without purpose
Animation communicates nothing about the product, state, hierarchy, or interaction. It exists primarily because the page feels better when something is moving.
Missing skeleton loaders
The landing page contains beautiful animations, but real data-heavy application screens use generic spinners, blank spaces, abrupt content replacement, or no loading state at all. This can reveal that visual polish was prioritized over actual product behavior.
5. Copywriting Tells
“It's not X, it's Y”
“It's not another CRM. It's your AI-powered revenue engine.”
The construction is not inherently bad, but excessive use makes marketing copy feel formulaic.
Em-dashes everywhere
“Build faster — scale smarter — automate everything.”
An unusually high concentration of em-dashes can contribute to the impression of LLM-generated copy.
Generic hero slogans
The future of work, reimagined. Build what's next. Intelligence for everyone. The language sounds polished but often communicates very little about what the actual product does.
Buzzword-heavy copy
Revolutionary, seamless, powerful, cutting-edge, next-generation, game-changing, intelligent, effortless, frictionless, robust, intuitive, delightful, appearing repeatedly without concrete evidence.
Checkmark feature lists
- ✓ Fast
- ✓ Secure
- ✓ Scalable
- ✓ AI-powered
Used as a universal substitute for explaining what the product actually does.
Fake testimonials
“This completely transformed our workflow!”
Generic statements appear alongside vague names, generic avatars, and no company context or verifiable attribution.
Decorative arrows in copy
“Better workflows → faster growth”
Sentences end with decorative arrows when the arrow adds no actual semantic value.
6. Content and Product Evidence
The website looks finished, but the product doesn't
This is one of the strongest signals. The marketing site contains beautiful hero sections, polished gradients, animated buttons, bento layouts, testimonials, pricing cards, and decorative dashboards. But the actual application contains inconsistent spacing, unfinished forms, missing validation, broken mobile layouts, generic dialogs, incomplete settings, inconsistent loading behavior, weak empty states, and generic error messages. Landing-page polish is comparatively easy to generate. Complete product behavior requires deeper iteration.
The Bigger Signal: Everything Looks “Correct,” but Nothing Feels Owned
This may be the most important observation in the entire list. A website can contain a nice font, rounded cards, gradients, a bento grid, a glowing orb, sparkle icons, AI copy, an animated button, a terminal, testimonials, and three pricing plans, and still feel completely generic. The interface follows every contemporary convention, but there is no distinctive visual or interaction decision that appears to come from the actual product, company, designer, or users.
“Assembled from the statistical average of modern startup websites rather than designed for a specific product.”
The ultimate tell is not that the website looks “AI-generated.” It is that the developer made the obvious choice at every decision point.
A More Useful Way to Interpret the Signals
These patterns should never be treated as an “AI detector.” A human designer can intentionally use Inter, Geist, gradients, bento grids, dark mode, rounded cards, Lucide icons, glassmorphism, and motion. None of those choices proves anything about how a website was created. The stronger signal is pattern stacking:
- Gradient: decorative versus a brand or functional purpose.
- Animation: everywhere versus used when it communicates something.
- Icons: generic everywhere versus selected intentionally.
- Copy: abstract versus specific and measurable.
- Testimonials: generic praise versus verifiable customer context.
- Dashboard: decorative mockup versus real product evidence.
- Loading: pretty spinner versus thoughtful skeleton and state.
- Errors: forgotten versus designed deliberately.
- Mobile: responsive-ish versus actually considered.
- Pricing: three generic tiers versus reflecting the business model.
- Design system: uniform versus consistent and contextual.
- Product identity: generic SaaS versus clearly belonging to the product.
The distinction is not AI design versus human design. The distinction is default decisions versus deliberate decisions.
What Vibe-Coding Often Gets Wrong
AI-generated product copy
Instead of asking AI to write every piece of product content, use AI to build the content infrastructure: text editors, CMS interfaces, content-management tools, structured data fields, and publishing workflows. Let the AI create the structure and tooling. Write the actual product language yourself. AI can help determine what information belongs in a section. The final wording should reflect the creator's actual understanding of the product.
Generic design direction
“Build this website.”
Simply telling an AI to build a website rarely produces a distinctive visual identity. A single screenshot to imitate is not enough either. A stronger design direction defines visual mood, typography, spacing, layout principles, imagery, color language, hierarchy, interaction principles, atmosphere, and brand personality. Give the AI a complete visual direction or mood board, not a single screenshot to imitate.
Building something that simply replicates ChatGPT
One of the most common problems with AI-assisted development is building something that essentially does what ChatGPT already does, then putting a new interface around it. The more important question is whether the same result is only one ChatGPT query away. If so, what additional value does the product provide? A useful product should offer something beyond a basic AI response: better workflows, specialized data, structured tools, domain-specific knowledge, automation, persistent context, collaboration, integrations, unique experiences, measurable outcomes, or a genuinely different way of solving the problem. The interface alone is rarely enough.
The Hard Constraint for a Redesign
When redesigning a product, the goal should not be to mechanically avoid every trend. Instead, avoid the unmodified, template-default version of these patterns. A purple gradient can work. A bento grid can work. Inter can work. Glassmorphism can work. Rounded cards can work. Animation can work. The important question is why this particular product needs it. If there is no convincing answer, don't use it. Every major visual decision should have a reason connected to the product, brand, content, users, or interaction.
Final Principle
Good design is not the absence of popular design patterns. Good design is intentionality. The strongest interfaces don't necessarily avoid contemporary conventions. They use them selectively, modify them when necessary, and reject them when they don't serve the product. The difference between a generic AI-generated interface and a deliberately designed product is often surprisingly simple: someone made a decision. Not “this is what modern websites look like,” but “this is what this product should look like, and here is why.”
A Note Before the Detour
That's the core essay. The argument stops here. Everything past this point is a side quest, not about websites at all: a few notes on why I landed on the number 37, and the odd places it keeps turning up.
Why 37?
I chose 37 because, when people are asked to pick a random two-digit number between 1 and 100, 37 tends to be chosen more often than expected. This phenomenon has been discussed by Veritasium (Dr. Derek Muller) in relation to people's tendency to select 37 when asked to choose a supposedly random number.
The number 37 is also connected to ideas such as the Randomness Paradox and the 37% rule in optimal stopping and decision-making.
Interestingly, if you ask an AI to pick a random number between 1 and 100, 37 can also appear surprisingly often. That raises an amusing question: perhaps this isn't only a human tendency. Since AI systems are ultimately trained and designed using patterns originating from human-generated data, some human biases toward particular numbers can potentially appear in machine-generated choices as well.
That is the reason behind the choice of 37 for this list.
37 Beyond Randomness: Why the Number Keeps Appearing
The choice also sent me down a small rabbit hole: 37 keeps appearing in places that have nothing to do with questionnaires. None of what follows proves the number is fundamentally special: that would be precisely the wrong conclusion. It is a tour of the mathematically exact, the scientifically meaningful, the cultural, and the merely coincidental, with the categories kept honest.
The mystery of 137 and the fine-structure constant
One of the most famous scientific associations involving 37 appears when it is combined with the number 1 to form 137. The fine-structure constant, represented by α (alpha), describes the strength of the electromagnetic interaction. It is a dimensionless physical constant whose measured value is approximately α ≈ 1 / 137.036.
The standard formula is α = e² / (4πε₀ℏc), where:
- e = elementary electric charge
- ε₀ = vacuum permittivity
- ℏ = reduced Planck constant
- c = speed of light
Equivalently, because ℏ = h / 2π, the formula can also be written as α = e² / (2ε₀hc).
This is particularly interesting because α is dimensionless. Unlike quantities such as meters, kilograms, or seconds, its value does not depend on the units used to measure it. Its numerical value is approximately α ≈ 0.00729735256 ≈ 1/137.035999...
Physicist Richard Feynman was famously fascinated by this number. He regarded 137 as one of the great unexplained numbers in physics and encouraged physicists to remember it as a profound mystery. This is where 37 makes another interesting appearance: the number 37 sits directly inside 137, one of the most famous numbers associated with fundamental physics.
However, the connection should not be overstated. 37 itself is not responsible for the value of the fine-structure constant, and there is no established physical theory saying that 37 has a fundamental role in determining α. The fascinating part is simply that a number chosen for a list about recurring patterns unexpectedly connects to 137, a number that has fascinated physicists for decades.
37 in language and gematria
Another association comes from gematria, systems in which letters or words are assigned numerical values. In some Hebrew numerical interpretations, the word Chochmah, meaning “wisdom,” is associated with the number 37. This is best read as a cultural and historical association, not as evidence of a universal mathematical property of the number.
37°C and the human body
Human core body temperature is commonly described as being around 37°C, which has made it one of the most familiar biological connections to the number. The honest version includes the variance: healthy temperatures differ between individuals, measurement methods, times of day, and physiological conditions. Exactly 37°C is not a universal or fixed optimum for every person.
37 genes in human mitochondrial DNA
Human mitochondrial DNA contains 37 genes, encoding proteins, transfer RNAs, and ribosomal RNAs involved in mitochondrial function. This is one of the more concrete biological appearances of the number, worth keeping separate from the more speculative associations.
The arithmetic magic of 37
37 has several genuine mathematical properties. Since 999 = 27 × 37 and 111 = 3 × 37, the number appears naturally in repeating three-digit patterns:
- 111 ÷ 3 = 37
- 222 ÷ 6 = 37
- 333 ÷ 9 = 37
More generally, numbers such as 111, 222, 333, and so on up to 999 are all divisible down to 37 in this way, which gives the number its unusual appearance in elementary number patterns.
The 37 / 73 prime relationship
37 is the 12th prime number. Reverse its digits and the result is 73, which is the 21st prime number. The reversal of both the digits and the corresponding prime positions makes the relationship particularly memorable.
37 and the golden ratio
There is also an interesting trigonometric coincidence involving 37°. The sine of 37° is approximately sin(37°) ≈ 0.6018, while 1 / φ ≈ 0.6180, where φ, the golden ratio, is approximately 1.618. These values are relatively close, but they are not equal, an interesting numerical approximation, not an exact relationship or a law of nature.
Closing thought
The interesting thing about 37 is not that every connection surrounding it proves the number is somehow mystical or fundamental. Some connections are mathematically exact. Some are scientifically meaningful. Some are cultural or historical associations. And others are simply interesting numerical coincidences.
That mixture is exactly what makes 37 such an entertaining number to investigate. And, fittingly, a list about the recognizable patterns of modern AI-generated websites seemed like an appropriate place to use a number that itself keeps appearing in unexpected patterns.