Good Vibes (Coding) Only

Every creative knows the frustration of a great idea held back by a lack of technical skill.

Vibe-coding allows software creation through conversational prompting. But natural language programming has a downside: what results is often chaotic and unmaintainable architecture.

This article explores that tension - weighing the opportunities of a new creative freedom against the risk of trying to fix a broken thing with the tool that broke it.

New Tools

I have been trying my best to reduce the amount of time between me noticing an internal motivation for an idea and taking action. The clearest example of this change is my willingness to immediately experiment with (and potentially adopt) new tools. With a purchase of my Pixel 9 Pro, I received a full years access to Gemini AI (currently 2.5 Pro). Within the course of two months, I went from asking meandering questions, to incorporating AI into my daily workflow: generating article summaries, sorting data into spreadsheets and even creating custom ‘Gems’, where the model is trained on a collection of documents.

Eventually I created a prompt that opened up Canvas mode automatically, and I discovered the ability to use these spreadsheets to create interactive dashboards. I began ‘coding’ an interactive Mixxx Controller Explorer using only natural language. However I soon discovered the limitations of solely relying on a chat-based coding process: it is slow, laborious and can weave its way into programmatic cul-de-sacs. Searching for an alternative, I discovered Windsurf, an AI-powered code editor forked from VS Code (similar to Cursor), utilising an IDE to write and edit code in a more traditional developer environment, with directories and highlighted syntax.

I fancy myself a fairly tech-savvy designer, however I have a very limited coding experience, hindering almost any notion of coding the simplest software. In the past, even edits to themes on basic HTML, CSS and Javascript websites would often stump me for hours - requiring review of forum posts, how-to guides and Reddit posts to try and find a solution. In this sense, using AI tools for coding unlocks a completely new realm of creativity - what struck me was the speed.

Why Vibe-Coding is a Game-Changer

This sparked a curiosity about vibe-coding in general. Once you see Google and IBM are publishing vibe-coding guides, you understand this must be a new step in the age of AI assisted computing. So far what I’ve gathered is that this new process provides the following advantages to old-fashioned line-by-line development:

From ‘How’ to ‘What’

As Madhukar Kumar mentions in this Medium article, vibe-coding is in many ways an evolution of programming; away from telling the system exactly how to do something with precise lines of code, towards telling it what to do with prompts.

You could argue, it does not matter how the software made as long as it works (called ‘Day 0’ software development). On the other hand, developers are not creating something from scratch, but instead working on millions of lines of code that have already been written. This may be in order to update, add features or make the software more secure (called ‘Day 1+’ software development). Here, it does matter how things are made, with code needing to have a predictable and standardised structure

The Four Horsemen of Bad Vibe-Code

It seems the main limitation with AI generated code is this lack of clear, deliberate, and maintainable structures. This creates difficulties such as:

Risks for Reduced Critical Thinking

Along with the quagmire of potential maintence issues, is also the problem of simply not understanding the underlying logic. In an ideal world, we would all read the descriptions of each element and its role in the code. But will we really do this after 4 hours tediously tweaking code? After all, the colour of my buttons must be that precise hue of purple on hover state.

Bypassing the entire learning curve, means that you not only limit yourself when debugging, but also shoehorn yourself into the most ‘standard’ solution (and potentially missing novel solutions).

However it’s not my coding that is suffering. My writing has actually been the skill that has been impacted the most. It is just too tempting to throw a slab of text into the chat window and ask your AI bot for a summary. Before you know it, you are creating a copy paste collage using sentences you’ve had very little influence on.

So it raises the question - will this reduce our capacity to think critically and form our own thoughts? I suspect there will be some exchange - where the new skills acquired to guide and use these tools, will come with the unfortunate side effect of these same tools guiding us. Perhaps invisible in the context of one task, but over many iterations.

Coding Without Code: The Blueprint for the Future?

Rather than a passing fad (see NFTs), I think this new form of software development is here to stay. Which makes me wonder - how will this workflow change in the next few years?

In his LinkedIn post, Marc Boscher reiterates one of the limitations already covered - that while using AI to quickly generate code seems great, it creates a big problem: someone has to fix that code when it breaks. He suggests a better approach is to create a middle layer - where instead of our prompts directly manipulating the code itself, we use AI to build a plan or “blueprint”. People can describe what they want, which is then translated into this plan by an AI ‘Blueprint Creator’. Then, an AI ‘Blueprint Reader’ reads those instuctions and handles all the complicated coding automatically in the background. This way, user can create powerful tools and connections between apps without ever having to touch or debug a single line of code.

Essentially the ‘rules’ for writing more structured code can be embedded into the AI communication layer between, ‘Blueprint Creator’ and ‘Blueprint Reader’.

A New Realm of Creativity

I understand seasoned developers see these new tools as ways to speed up their own workflows, but may scoff at the idea of completely non-technical people developing software using prompts alone. However I believe there is a large segment of technically inclined, but code illiterate creatives, who will be able to lower the cost of experimentation (both in terms of time and money). Leading us to an explosion of new applications, dashboards and interactive programs.

- Stav Rose