Vibe Systems

There is a lot of momentum around vibe coding. It's fast, playful, and empowering. Someone describes an idea and minutes later there's a working interface on the screen.

You can usually tell when something is vibe coded. It looks fine. Usable. Familiar. Like something you've seen before, but not quite yours.

That's not accidental. Coding LLMs default to the most common patterns they've seen, assembling an average version of what "good design" looks like. The output is often good enough to move a conversation forward, but generic by nature.

For organizations that have invested in a design system, generating interfaces outside that system is a loss of leverage. The prototype may look acceptable, but it doesn't carry the organization's intent, patterns, or constraints. It exists alongside the system rather than compounding on it.

This usually becomes visible at a predictable moment. A prototype gains momentum and someone asks whether it can be shipped. The gaps appear quickly. Components don't map cleanly. Patterns don't quite fit. Design is pulled in late, not to shape direction, but to realign something that already exists.

That's where the cost shows up. What felt like speed turns into rework. The prototype has to be rebuilt and reinterpreted through the system to reach production quality.

The real tension with vibe coding isn't whether it should exist, but where quality lives. When interfaces are generated without shared constraints, quality is evaluated after the fact. That model doesn't scale.

The alternative isn't to slow people down, but to move quality into the act of creation itself. When vibe coding happens against a design system, quality isn't enforced through review. It's embedded directly in what gets generated.

This reframes the role of the design system. It's no longer just a way for design and front-end teams to ship faster and stay consistent. It becomes organizational infrastructure that allows many people to generate interfaces without compromising quality.

This shift happens whether it's intentional or not. Organizations that don't adapt end up recreating the same constraints informally through reviews, rewrites, and alignment work. The system emerges anyway, just later and at a higher cost.

As interface generation becomes widespread, designers can no longer rely on acting as gatekeepers at the end of the process. The work they were already doing, defining intent, constraints, and standards, moves earlier and compounds through systems rather than review.

At the same time, designers gain more immediate influence over quality. Instead of waiting on engineering cycles or filing tickets, they can surface issues, prototype improvements, and validate changes earlier. Quality intervention becomes proactive rather than dependent on other functions.

When everyone can generate interfaces, the value of design moves upstream. Designing UI was never the whole job. The harder work has always been understanding users, framing problems, and deciding what actually needs to exist. Vibe coding doesn't replace that work.

It removes friction from execution, making mistakes in problem definition more expensive.

In that context, design's impact comes from ensuring that what gets produced is coherent, intentional, and worth building.