Vibe Coding, Meet Reality
By now we’ve all heard plenty of vibe coding horror stories. One of the more amusing:
It’s not surprising that unconstrained vibe coding is dangerous. While the failures are entertaining, they shouldn’t lead us to dismiss amazing new potential. Agents’ ability to generate code should be a huge net positive for non-technical knowledge workers. It’s incumbent on skilled developers and software infrastructure companies to make it safe.
Mirage Becomes Reality
For more than forty years, the software industry has promised to eliminate programmers, and failed. Today this promise can — and should — be delivered — to a point.
From James Martin’s 1982 Application Development Without Programmers, championing fourth-generation languages to empower business users, through CASE tools in the 1990s, Rational Rose and other modelling tools in the 2000s, BPM vendors such as Appian promising “zero-code” development in the 2010s, through Google and Microsoft talking of “citizen developers” in the early 2020s, the promise has been restated.
Each generation delivered some useful technology. None delivered the promised escape from programming. In September 2026, Gartner reported that “few citizen developers can build applications safely and effectively.”
Today, however, coding agents can build sophisticated applications in real languages. Non-technical users can create apps quickly. The challenge is safely and effectively.
Vibe coding without guardrails is dangerous, and anything but a step forward. However, that doesn’t mean we should give up on its promise. We need to work out where it applies, where it doesn’t, and architect appropriately.
The solution is realism and layered infrastructure.
Wholly replacing professional developers is dangerous and undesirable. While coding agents can greatly increase their productivity, their skills — especially in design — remain important to solid outcomes.
Everything depends on good architecture. Everything we know about layering, design patterns, loose coupling, testability etc. still matters. In fact it matters more than ever.
With sound architectural layering, we can create systems that allow non-technical users to safely vibe code real applications — not just prototypes — that benefit from their domain understanding and reflect their personal preferences. This finally realizes the promise of empowering business users.
Let’s look at some of the implications.
Everyone gets their Own Pane of Glass
Every user will have their own personalized interface to make them happier and more productive, and this can be achieved without risk.
We’ve all suffered from UIs that weren’t built for us, and the need to jump between disconnected UIs. We all know the Microsoft Word problem, where the menus are so complex because of a range of features no individual user needs; and the multiple-SaaS problem, where you need to jump between different interfaces. These problems will soon be a thing of the past.
Every user will have their own personalized UI, or as many UIs as they want. They will be able to evolve their apps easily and share them where appropriate. No human — not even skilled developers — will look at code in this layer.
Applications Will Proliferate, But Application Builders are In Trouble
Building applications will decline as a business model. On top of a strong underlying architecture, AI can build anything quickly, removing many moats.
Companies delivering applications will survive only if they accept that they are not really technology companies, and radically reduce their development costs by building on shared infrastructure.
Viability will depend on non-technical factors, such as:
- Deep understanding of and relationships within a domain. Especially in niche markets, specialist expertise retains value.
- Access to proprietary data or feeds. Lack of good data is a huge barrier to AI. This barrier to entry will likely diminish as owners of data and feeds enable a wider range of agentic clients.
What Infrastructure Does This Future Rest On?
These benefits require understanding of architecture, and a new infrastructure layer.
Get Rod Johnson’s stories in your inbox
Join Medium for free to get updates from this writer.
I recently blogged about the need for a context or semantic layer that sits between AI models and relevant data and systems, presenting a coherent, scriptable, AI-ready view of everything underneath. While it can be built in house by large businesses (and presently often is), a context layer is generic infrastructure.
The context layer is the cutoff point above which vibe coding becomes not only safe, but the best way to build. It provides models with understanding of what’s underneath and a solid way of accessing data, managing usage and enforcing guardrails.
Users should be able to build against a context layer with familiar tools such as coding agents.
Let’s look at some examples of what can be built easily, and safely, over a strong context layer.
Consider this application based on UK public data. It took about half an hour to write on top of Embabel Worlds, with the help of Claude Code. It uses six disconnected UK government APIs, relating them via ONS local authority district code. Embabel’s federated query capability illustrates the power of a strong context layer to bring insight across many systems:
A context layer also makes it easy to put model intelligence over existing apps: a great alternative to paying your SaaS vendor for its own expensive AI features. For example, a quickly built intelligence layer over Odoo using queries that incorporate LLM summarization:
The value compounds when you join across more than one system.
A context layer should allow app hosting as a first class citizen. Apps built on top of a strong context layer avoid the potential dangers of vibe coding, and enjoy important advantages. For example:
- They can be hosted securely, with a stable URL. A non-technical user doesn’t need to deploy them.
- They can be shared easily with colleagues or even published more widely.
- Their value compounds as the data and actions available to the underlying infrastructure layer broadens. Sharing can unlock further value.
- They can be validated consistently through static analysis, ensuring they’re safe and acceptably performant.
- An underlying platform gives visibility of what an organization is running, versus allowing a mishmash of insecure applications.
- Access to them can be logged and audited.
- They benefit from multi-channel communications, event streams and other infrastructure services.
Embabel Worlds offers these and other benefits today. You can be up and running in a few minutes, ready to connect your coding agent to build apps against the systems you care about. What do you want to build?








