We Know You Vibe Coded Your Site

Last Updated: Mar 2, 2026
vibe coding
(noun) /vaɪb ˈkoʊdɪŋ/
An approach to software development where the developer describes what they want in natural language and accepts the output without reviewing or fully understanding it.

AI Personalities

People are viewing LLMs as a general intelligence, but they're not. They do have a wider breadth of knowledge than anybody in the world, and their depth on most topics is well beyond what a 100-level class will teach you. They are undoubtedly impressive and useful. But they still have some individuality that has only gotten more noticeable.

People have their own signature that is difficult to remove. For example, if a cartoonist wanted to draw realistic portraits, even after months or years of practice, you may still find hints of their past. Their lines are darker, or the proportions are just slightly more exaggerated. These might stem from little things like the subtle ways cartoonists learn to grip their pencil. All these little things propagate down into the final product and give it a signature that's often hard to explain without the industry-related vocabulary. LLMs do the same thing.

It's not just negative parallelism, it's em dashes; semi colons; and rule of threes—LLMs have created a recognizable pattern that most people online are able to point out and even describe. I'm willing to bet most people didn't know what an "em dash" was, but now they scream "AI generated." Wikipedia has a lengthy article on these Signs of AI Writing.

This is an actively researched area of machine learning. Researchers call it homogenization. LLMs are all producing similar output. In a research paper[1] titled "Does Writing with Language Models Reduce Content Diversity?" they compared GPT-3 to InstructGPT. Their results showed that Reinforcement Learning from Human Feedback (RLHF) tuning was one of the major factors of homogenization. RLHF tuning is what makes models usable on a day-to-day basis. If you've ever heard someone say an LLM is just "advanced autocorrect," that's closer to what it is without the RLHF tuning. They generate the most probable token one after another. This is what GPT-3 was. InstructGPT was likely the foundation for GPT-3.5, which is what launched with ChatGPT. What's interesting is that these properties span across all RLHF-tuned LLMs. Claude, ChatGPT, Gemini, Grok. They all have this distinctive AI writing style. Where this likely comes from is the emphasis on editorial prose. During RLHF, humans push models towards more formal responses since they carry more authority. When a human uses something like an em dash, it's deliberate and sparse, while LLMs use them constantly as a default part of their syntax. Their writing is maximally polished at all times. This is why the first AI-generated text you saw likely sounded extremely good, but the more you read, the more hollow it feels.

Homogenization applies to AI coding. Coding is much more deterministic than creative writing. During benchmarks, we don't care if it uses OOP or procedural programming. We don't care whether it uses tabs or spaces. We care that, given the input, it generates the correct output. Real programming is much more complex. When we realize that these LLMs all share chunks of their personalities, we realize that everyone using AI to vibe code their website is closer in equivalence to every site being designed by the same person, rather than each website being designed by a unique team or individual. This strips away an important aspect of any field: diversity. And it has become very apparent on the web.

Signs of a Vibe Coded Website

Status Online

I see this absolutely everywhere. A colored dot that typically fades in and out slowly. Usually seen next to words like "Status Online" or "Connected."

Status Online

Gradients

This has become the most obvious sign of AI. LLMs love gradients, especially purple and blue. If you ask Claude Code to generate a simple web app, you'll almost certainly see the background as a gradient. They'll put it on buttons, cards, backgrounds, anything.

Hover Effects

Everything will have exaggerated hover effects and often doesn't feel tested. They'll move too much, break alignment, or just not fit the aesthetic of the website. They'll also put the hover effect and set the cursor to a pointer on random things that aren't clickable.

🌿

Nature

Hover over me

Overly Rounded Corners

LLMs tend to use a 0.5rem (8px) border radius, which is the default value for Tailwind's rounded-lg. These are usually seen on every button and card. (See Hover Effects example.)

Emojis

No one uses emojis on their website. The 🚀 and ✨ are used everywhere by LLMs, but unless there's a good reason to use emojis, they shouldn't be on your site. (See Hover Effects example.)

Fonts

Roboto, Inter, and Poppins are all good fonts and often the default for UI tools, but AI will almost exclusively use them. The header, titles, everything.

Square Logo and Nav

Unless told explicitly, LLMs will often generate the same nav for everything. A square icon/logo and company name to the left, the nav items in the center, and the sign-in/out buttons to the right.

Transitions

LLMs use transitions and animations everywhere, but one issue I see often is scroll load-in animations (regularly mistimed). They also use translation animations for hover effects.

Missing Indicators

The most common missing indicator is loading. If you ask an AI to build a form to upload a file, for example, it'll almost certainly forget any sort of loading message or progress bar.

Lack of Design Consistency

LLMs don't start with theme and branding in mind. They don't have style guidelines. What this leads to is everything with different sizes, card dimensions, inconsistent font sizes, font weights, and really any adjustable value.

Varying Sizes

LLMs struggle to make cards that are all the same size. They often let divs scale themselves, which doesn't always work well. This one shocks me because you should be able to catch it just by looking at your newly generated site.

AI Writing

This is an obvious one, but a vibe coded website typically has AI-generated text. Refer to the Wikipedia article: Signs of AI Writing. Additionally, you'll see very generic taglines in the hero section. "Where Innovation Meets Efficiency," "Your Vision, Our Creation," "We Build. You Grow," "We Don't Just Build [Product] — We Build Futures."

Missing Technical Features

Vibe coded sites are often not mobile-friendly. The LLM will try to make things responsive but will almost never use a media query breakpoint. They also miss meta tags, especially any Open Graph or Twitter ones. Additionally, it's common to see just straight-up broken features. More often than not, the JavaScript is there but doesn't have the correct event listener.

Prompt: Don't Make Mistakes

All of these signs of AI should be cured with better prompting, right? They kind of are. The issue is that most of these require human effort, and if you're vibe coding a website, there's a really high chance you don't know what you're doing. If you do, you already know how to solve these. You need to know about UI/UX, responsive design, layout reflow/repaint/composite, Open Graph meta tags, preloading, CSRF, CORS, aria, etc. You need to establish a design pattern across the site and instruct the LLM to use it. You need to write the copy by hand. You need to have a decent level of design and development literacy to know how to fix most of these issues. These are things that AI often won't do or even teach unless explicitly told to do so. I've seen people on Reddit and Twitter who are interested in learning to code ask if they should use an LLM to help with learning. There are two sides: "avoid LLMs while learning" and "use them from day one; that's just the industry now." Both are false dichotomies for the same issue, which is whether or not you actually understand what it's doing. When learning, this is almost impossible to do without writing the code yourself and reading the documentation. In my opinion, when learning, LLMs should be avoided almost entirely and only used when you'd normally feel you need to ask a person to solve your issue.

Why It Matters

Most signs of AI that I pointed out are not just quirks like overusing em dashes. They are mistakes. They hurt the user experience. You might think "Well the site looks good to me, so it probably is good enough for most people." That is probably true, but it won't be. Companies using AI-generated content are getting blasted online, so much so that other companies are using their lack of AI use as a marketing strategy[2]. The first time I saw AI-generated text, I was genuinely impressed. It uses semicolons. It's basically Charles Dickens. As time moved on, AI writing has been associated with low-effort, meaningless content often called "slop." It's only a matter of time until non-technical people catch on to your vibe coded app and associate it with slop. They are already doing so with Microsoft[3]. Those little quirks of AI are apparent on the frontend but are making their way through entire codebases, overall weakening digital products or infrastructure. I'm not opposed to AI use. In fact, most of the code I write today is AI-generated. The difference is that I remain in control of the project. The AI generates the function I ask for or completes the line I'm writing. It shouldn't receive full design control. It's not that good yet and likely won't be for a very, very long time.

References

  1. Padmakumar, Vishakh, and He He. “Does Writing with Language Models Reduce Content Diversity?” ArXiv.org, 10 Sept. 2023, arxiv.org/abs/2309.05196.
  2. Hicks, Katie. “Brands Are Using Generative AI to Make Fun of Generative AI.” Marketing Brew, Morning Brew, 28 Jan. 2026, www.marketingbrew.com/stories/2026/01/28/brands-using-generative-ai-almond-breeze-equinox-dollar-shave-club.
  3. Wilkins, Joe. “Microsoft CEO Begs Users to Stop Calling It “Slop.”” Futurism, 4 Jan. 2026, futurism.com/artificial-intelligence/microsoft-satya-nadella-ai-slop.