Vibe+

The Case for Vibe+: When Vibe Coding Meets the Real World

In this article
  1. The Finish Line Moved
  2. Vibe Coding Changed the Creation Side of Software
  3. “It works” and “it’s good” Are Different Things
  4. What Is Vibe+?
  5. Assessment Should Become As Accessible As Generation
  6. The Real World Knows Things the Prompt Doesn’t
  7. As Creation Gets Cheaper, Confidence Becomes More Valuable
  8. How Does This Relate to the AI-native SDLC?
  9. This Isn’t About Autonomous Software
  10. What Should Qualify As Vibe+?
  11. This is Bigger Than Cleaning Up AI-Generated Code
  12. Working Software Is Where the Next Set of Questions Begins
  13. Proposed Definitions
  14. Reference

The Case for Vibe+: When Vibe Coding Meets the Real World

Vibe coding has made software dramatically easier to create. The next challenge is understanding what we’ve created once it has to face real users, real risks, and real expectations.

Vibe coding has changed software development in a remarkably short period of time. The idea is easy to understand: describe what you want to an AI system, let it build something, try it, and keep talking to the AI until the software does what you had in mind. A surprising amount of the translation between an idea and working code can now happen through conversation.

That shift matters. People who would never have considered themselves software developers are building applications. Experienced developers are moving faster. Ideas that might once have required weeks of planning (or put off indefinitely) can become working prototypes in hours.

But eventually the application has to leave the conversation and meet the real world. People use it. Data accumulates. Traffic grows. Dependencies change. Security matters. Someone has to maintain it. What seemed obvious during development turns out not to be obvious to users. At that point, “it works” is no longer a very useful definition of success.

This is the problem I think deserves more attention, and I think it deserves a name: Vibe+.

The Finish Line Moved

For a prototype, “it works” can be a perfectly reasonable goal. Click the button and the expected thing happens. Try the workflow and it behaves correctly. Ask the AI to fix the rough edges and keep going until the application feels right.

Once people depend on the software, though, the questions change. Is it secure? Will it hold up under load? Is the architecture sound? Is the code maintainable? Did we introduce dependencies we don’t understand? Are there accessibility problems? Is it actually ready for production?

Then there are questions the code itself can’t answer. Are users finding the feature? Can they complete the workflow? Are they getting value from it? Did the thing we built accomplish what we hoped it would accomplish? What should we improve next?

These aren’t new problems, and they certainly aren’t unique to AI-generated software. Traditional software teams have dealt with them for decades. What’s different now is the speed at which software can be produced and the number of people who can produce it. AI is making it possible to create software much faster than before, and our ability to create it may now be growing faster than our ability to understand and evaluate what we’ve created. The bottleneck is moving.

Vibe Coding Changed the Creation Side of Software

For most of computing history, creating software was expensive. You needed specialized skills, and even relatively simple applications required people who understood programming languages, frameworks, databases, infrastructure, and a long list of implementation details.

Better tools gradually reduced that burden, but the basic relationship remained the same: people had to translate what they wanted into forms computers could execute.

Generative AI changes that relationship because a person can increasingly stay at the level of intent. You can ask for a scheduling application for your business, then explain that customers should be able to reschedule without calling. You can ask for a waiting list when a day is full, try what the AI produces, and tell it that the result is too complicated and needs to be simpler.

The AI handles the translation into implementation. That doesn’t eliminate software engineering, nor does it guarantee good software. It does change who can create software, how they create it, and how quickly an idea can become something that works.

That’s an enormous change. It would be a mistake, however, to assume that creation is the whole problem.

“It works” and “it’s good” Are Different Things

Anyone who has built and operated software professionally knows the difference. An application can work and still be insecure. It can work while being nearly impossible to maintain, or work with ten users and collapse with ten thousand. It can quietly accumulate architectural problems or expose sensitive information without showing any obvious signs of trouble during a casual test.

The same is true on the product side. Software can work perfectly and still confuse users. A feature can behave exactly as designed and go largely unused. An application can meet every requirement that was given to it and still fail to solve the problem that justified building it.

Vibe coding gives us a very fast feedback loop between intent and implementation: describe something, build it, try it, refine it. What we need alongside that is another loop that continues once the software is real: build it, assess it, observe what happens, learn from that evidence, and improve it. That second loop is what I mean by Vibe+.

What Is Vibe+?

My proposed definition is hopefully straightforward:

Vibe+ extends vibe coding beyond creation. It keeps AI involved after the software works – assessing what was built, understanding how it performs in the real world, and using that evidence to guide what should improve next.

Put more simply, vibe coding gets you to “it works.” Vibe+ starts there.

The + isn’t meant to imply a bigger coding model, another agent, or a premium version of vibe coding. It represents the work that becomes important once working software has to become good software, and then stay good as it changes.

A simple version of the loop is:

Describe → Build → Assess → Observe → Improve -> Repeat

The important part isn’t the exact number or names of the steps. It’s that the loop doesn’t end when the application runs successfully.

Software encounters changing requirements, new security threats, growing data, new dependencies, unexpected behavior, and uses nobody anticipated when the first version was created. If AI is going to transform software development, there is no obvious reason its role should end at the point where the application starts working.

Assessment Should Become As Accessible As Generation

Part of what made vibe coding different is that software generation became conversational. You don’t necessarily need to know which files need to change or which functions need to be written. You describe the outcome you want and let the AI work through much of the implementation detail.

There is an opportunity to make evaluation similarly accessible. Someone should be able to ask an AI system whether an application is ready for real customers, where its most important security risks are, whether its architecture makes sense for where the product is headed, or what technical debt is accumulating. Those questions shouldn’t require the person asking them to know which scanner to run or which parts of the codebase to inspect first.

That doesn’t mean specialized tools or expertise go away. Security scanners, observability platforms, testing systems, code analysis tools, experienced engineers, architects, and security professionals all have important roles. AI can help bring the evidence together, put it in the context of the software, and make the conclusions understandable to the person responsible for deciding what to do.

The person who vibe coded an application shouldn’t have to become a security engineer to understand that the application has a meaningful security problem. Likewise, an experienced engineering team shouldn’t have to manually reconstruct information from a dozen different sources every time it wants to understand where the greatest risks or opportunities are. Generation became easier in part because AI absorbed implementation complexity. Some of the complexity of evaluation can move in the same direction.

The Real World Knows Things the Prompt Doesn’t

There is a limit to what we can know when software is created. Some questions can’t be answered until real people start using it.

You can test whether a signup flow works, but that doesn’t tell you whether people will abandon it halfway through. You can verify that a feature behaves correctly without knowing whether anyone actually wants it. You can estimate expected load, but production tells you what the load really looks like. You can describe the outcome you hope to achieve, but only reality can tell you whether you achieved it.

Consider a feature created with a clear intent: make it easier for new users to create their first project. After release, the interesting questions aren’t limited to whether the feature generates errors. Did more people successfully create a project? Where did people stop? Did support requests change? Did the new workflow introduce other problems? Was the original assumption even correct?

That evidence should have a path back into development. AI can help interpret it, relate it to the original intent, and suggest what deserves attention. People can then apply judgment about priorities and tradeoffs, and the next iteration begins. This is why I don’t think Vibe+ should be defined as better testing or better code review. The real world itself has to become part of the development loop.

As Creation Gets Cheaper, Confidence Becomes More Valuable

Technology has a way of moving constraints around. When something that used to be expensive becomes cheap, another part of the system usually becomes more important.

AI is making software generation cheaper. If that continues, one of the things that becomes more valuable is confidence: confidence that the software is secure, that the architecture will hold up, that we understand what the AI generated, that the application is ready for users, and that users are actually getting value from it.

This isn’t just a concern for someone building an application without a programming background. A startup moving quickly with AI and an experienced engineering organization using agents across a large codebase have the same fundamental problem at different scales. Producing more software, faster, increases the importance of understanding what has been produced. Faster creation needs to be accompanied by faster understanding.

How Does This Relate to the AI-native SDLC?

There is already important work underway to extend AI beyond coding and across the software development lifecycle. Anthropic has described an AI-native SDLC, and similar ideas appear under terms such as AI-SDLC and agentic software development.

That work addresses how planning, design, coding, testing, review, deployment, operations, and maintenance change when AI is involved throughout the process. Vibe+ isn’t intended to rename that idea or compete with it.

The distinction I find useful is one of emphasis. An AI-native SDLC asks how AI participates throughout the process of developing and operating software. Vibe+ starts with the change that vibe coding introduced—the ability to express intent directly to AI—and asks what happens when we refuse to let that relationship end at “it works.”

That means the ideas will naturally overlap. An AI-native development lifecycle can provide many of the capabilities needed for continuous assessment and improvement. Vibe+ is focused specifically on making evaluation, understanding, and improvement a natural continuation of the creation experience.

If vibe coding makes software creation accessible to more people, Vibe+ should make confidence in what was created more accessible as well.

This Isn’t About Autonomous Software

Keeping AI involved throughout the life of software doesn’t mean turning the product over to an AI system and letting it make every decision.

There are decisions AI can inform without owning. Should we accept a particular security risk? Is an architectural tradeoff worth making? Does a feature matter enough to build? Are we comfortable with the cost? Is a proposed improvement consistent with where we want the product to go?

AI can gather evidence, identify problems, explain tradeoffs, recommend changes, and increasingly perform the implementation once a direction is chosen. People still provide purpose and judgment. In fact, those responsibilities may become more important as implementation itself becomes easier.

The goal isn’t software that endlessly modifies itself without human involvement. The goal is to make it easier for people to understand and improve software without having to manually reconstruct everything about it each time they make a decision.

What Should Qualify As Vibe+?

If Vibe+ is going to be a useful term rather than another label for “AI plus software,” it needs some boundaries.

First, it can’t stop at generation. Working software is a milestone, not the end of the AI’s involvement. The software should continue to be evaluated as it changes, whether the relevant concerns are quality, security, architecture, maintainability, readiness, usability, or something specific to the application.

Second, it needs to learn from reality. Production behavior, user activity, failures, performance, and outcomes should be available as evidence. That evidence is more useful when it can be connected back to intent: not simply “what happened?” but “did the software accomplish what we wanted it to accomplish?”

Finally, the understanding has to lead somewhere. Findings and evidence should be able to become concrete recommendations and, when someone decides to act on them, new implementation work. AI can assist throughout that process, while people remain responsible for goals, priorities, tradeoffs, and consequential decisions.

The resulting loop might be summarized as:

Build → Assess → Observe → Understand → Improve -> Repeat

That’s the +.

This is Bigger Than Cleaning Up AI-Generated Code

There is an easy way to misunderstand this argument. As vibe coding grows, we could frame everything that comes after generation as cleanup: AI produces questionable code, so we need another set of tools to find the problems.

I don’t think that’s the interesting story, and it isn’t particularly fair to vibe coding. Some AI-generated software will be poor and some will be excellent, just as some human-written software is poor and some excellent.

The larger opportunity is to use AI not only to change how software gets created, but also how software gets better. A strong application still has room to improve. A secure application still encounters new threats. A sound architecture still has to evolve. A successful feature still generates new information about what users need. A mature product still contains assumptions worth testing.

Vibe+ isn’t remediation for vibe coding. It’s a continuation of the same fundamental shift: people can increasingly work with software at the level of intent, while AI handles more of the work required to turn that intent into action.

Working Software Is Where the Next Set of Questions Begins

Vibe coding deserves the attention it has received because it changed something fundamental. It moved software creation closer to human language and human intent, and in doing so it dramatically reduced the distance between an idea and a working application.

But software doesn’t spend its life in a prompt window. It has to survive contact with production, earn a users trust, remain understandable as it changes, deliver useful outcomes, and improve over time. AI can help with that part of the story too.

The next opportunity isn’t simply to generate more software, faster. It’s to make it easier to understand the software we’ve created, learn from what happens when people use it, and make better decisions about what should happen next.

That’s the case for Vibe+.

Vibe coding gets you to “it works.” Vibe+ starts there.


Proposed Definitions

Vibe Coding is creating software by describing, in natural language, what you want to an AI system, trying what it builds, and guiding changes through conversation.

Vibe+ extends vibe coding beyond creation. It keeps AI involved after the software works—assessing what was built, understanding how it performs in the real world, and using that evidence to guide what should improve next.

Vibe+ — Because working software is only the beginning.


Reference