Vibe coding has a marketing problem disguised as a quality problem. The pitch: describe what you want, AI writes the code, you ship. The complaint: the code is bad. Both miss what's actually happening.
The code quality problem is a specification problem. Nobody told the AI what "good" looks like for this specific product.
The velocity trap
He et al. studied 806 repositories after Cursor adoption and found static analysis warnings rose 30.26% and code complexity increased 41.64%, with no signs of dissipation. Lines added spiked 281.3% in the first month, then the velocity gains largely dissipated after two months.
Anyone who's watched a team onboard a new tool has seen this pattern. The first sprint is euphoric. By sprint four, you're reconciling. Boldare's field observations confirm the timing: teams using vibe coding without design infrastructure hit real speed in the first two weeks, then someone has to manually reconcile what the AI generated without coordination.
GitClear's analysis of 211 million lines found copy-pasted code climbed from 8.3% to 12.3%, exceeding moved and refactored lines for the first time, while the refactored share collapsed from 25% to under 10%. The AI doesn't refactor. It duplicates. And each duplicate is a fresh interpretation of what a button should look like.
What a design system actually constrains
A design system looks like a component library. It is a decision eliminator.
Spacing scale: decided. The color a destructive action uses: decided. Every one of those decisions, when left open, becomes a prompt the AI answers from its training data instead of from your product's intent. Boldare documented the result: "a button in one place might have border-radius 4px while another has 8px, action colors vary between sections, and typography differs because each prompt generates styles from scratch."
Unconstrained speed produces divergence in any system. Always has. The AI just made the speed high enough for divergence to become visible in days instead of quarters.
As Anna Arteeva wrote: "AI tools tend to be biased toward the frameworks and styles they were trained on. If your system deviates from those defaults, extra work is needed to teach the AI your design tokens, components, and patterns, or coding agents will fall back to infamous AI slop." The design system is what keeps the AI from inventing its own rules.
The constraint was doing the thinking
Before vibe coding, designers and developers made hundreds of micro-decisions per feature. Which spacing token. Which interaction pattern for confirmation. Those decisions felt like overhead. They were actually design thinking distributed across every commit.
A design system pre-resolves those decisions. It compresses the thinking into components and rules that anyone, human or AI, can apply without re-deriving the logic. When a human builds without a design system, they still carry intuition about the product. They notice when a modal feels wrong.
When an AI builds without a design system, it has no intuition. It has training data. Your product's coherence becomes a weighted average of whatever the model saw most often. That's why GitClear found copy-paste rising while refactoring collapsed: the AI generates each component from scratch, independently, with no shared constraint connecting one decision to the next.
The inversion
The usual framing: design systems are a maturity marker, something you build when you have time. Vibe coding inverts this. A design system becomes the minimum viable constraint for AI-assisted development. Without it, every prompt is unconstrained generation. With it, every prompt is constrained selection.
That's a different kind of tool. A machine-readable constraint layer that determines whether your AI produces a product or produces parts that look like they came from four different companies.
The 41.64% complexity increase He et al. measured points back to missing constraints. The AI was never told what "simple" meant for those codebases, so it invented 806 different definitions.
The teams that will get lasting value from vibe coding are the ones that invested in design systems before the hype made it urgent. Everyone else is about to find out what those systems were quietly doing for them.
If you deleted your design system and gave every developer an AI coding agent, how many sprints before the product stops looking like one product? That number measures how much thinking the system was doing that you never noticed.