We provide market insights, research and advisory, and technical validations for tech buyers.
Published: 07 Apr 2025
Last week, I heard the term vibe coding for the first time. Setting aside the fact that the term sounds like something a teenage hacker might say, it piqued my interest. What did it mean to vibe code? What "vibe" were they even talking about?
So, as any good analyst would do, I started to research.
Andrej Karpathy, a co-founder at OpenAI and former AI leader at Tesla, coined the term vibe codingon X in February 2025. The basic idea is to rely entirely upon LLMs and code by only using natural language prompting instead of writing the code yourself. Karpathy wrote, "... it's not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works."
Trying vibe coding with Cursor
I started programming over three decades ago, but haven't developed a complete application of any size in probably 15 years. I have a master's degree in computer science and grow less and less technical every single day.
Every few months, I decide to code something I might need or want. More often than not, I get about one hour into setting up the development environment and throw in the towel. My GitHub repository is littered with half-baked prototypes and other incomplete garbage. Honestly, it usually takes me an hour to remember how to use Git in the first place.
Despite seeing many trends and coding approaches come and go, I decided to dive down the rabbit hole. I installed the vibe coding system of choice: Cursor. At first, it looked like any other integrated development environment (IDE). They all do the same thing: allow you to write line after line of source code, build the program and deploy it somewhere for production.
I had no idea where to start, so I phoned a friend who is at the forefront of AI. For the sake of this article, I'll call him Jay.
Jay told me to hit Command+L and open the chat window. Then, he helped me configure it with my paid Google Gemini credentials, which I already had, and I typed my first prompt.
"I want to create a Python application that listens for an inbound web request and then takes an inbound parameter called 'company' and makes a call to Google Gemini Deep Research and responds with a complete market research-style company analysis."
Somehow, somewhere, something vibed, and the agent went off and built me an application.
There was no way it could discern how to do what I had just asked it. I had an outdated version of Python and pip on my machine, and I wasn't even in the correct directory to build a file structure for the new application. I literally gave it nothing else. But then it happened. I "vibed."
Or maybe it vibed -- I'm honestly not sure.
Somehow, somewhere, something vibed, and the agent went off and built me an application. It created the directory structure, downloaded software and updated my entire development environment. It asked me a few questions here and there, like if it was OK to install specific software or what configuration on a particular development tool I needed. I barely read the questions and took all the default options, because I was "vibing." Nothing would slow me down and get in my way.
Roughly 30 minutes after the installation of the IDE, I saw just how far the rabbit hole went. I now had an API endpoint listener that would take a webhook request, pass it along to Gemini Deep Research and respond with a JSON blob in markdown format that I could review in my note-taking system.
A project I had wanted to build at least three to four times in the last two years was complete and worked as planned.
Does vibe coding have a limit?
But wait, I want to push my luck.
"Hey Cursor, I no longer want to run this on my local system, I want to run my API as a serverless function in Google Cloud. Can you do that for me?"
It sure could. It installed more software into my development environment, walked me through everything I needed to do to enable cloud development in my Google Cloud instance, and then completely rewrote my listener to operate as a cloud-native function.
Within an hour and a half, I had my little API running in the cloud and working for anyone to use. This was incredible. I was half in shock. I kept telling Jay how cool this was. I'm sure he was bored by this point and went back to his real work, but I was inspired.
"Cursor -- add a second endpoint to research people by name and scrape pertinent information from their LinkedIn for me. Make that a new endpoint for the API in the cloud."
It was done in 15 minutes. Surely, it couldn't be this easy. It was time to throw something more complex at it.
"Cursor -- create a web front end for the APIs that will allow someone to enter their request that way instead of using curl."
An hour later, I had a working web application after going back and forth with the chatbot.
And then it happened. I broke my little developer pal's brain.
At least Cursor admitted its mistake.
The website was returning a network error when I filled out the form. Why? I pasted in the bug, and my coding agent even reviewed the cloud logs to see if it could debug the problem on my behalf.
"This was a mistake on my part. The function only requires the company field in the request body. Let me correct this," Cursor responded.
No big deal, right? Everyone makes mistakes, even my AI partner. But then it morphed into something else. It started having hallucinations and making all kinds of weird mistakes in a little loop as it simultaneously tried to fix the API back end and the front-end calls, never seeming to get them in sync with one another. It even went so far as to start swearing at me amongst a stream of "AS" characters that clearly showed me it had gone off the deep end. I had to shut down the chat and start a new one.
Is vibe coding the future?
My first vibe coding session ended shortly thereafter. In less than two hours, I created a proof-of-concept web application with two back-end APIs that called to Gemini Deep Research and returned data that I could use in markdown format.
I achieved my goals without coding and got the required results quickly and easily. I also learned that as your codebase grows, so does the requirement to help your special agent remain scoped in the sections of code that need modification.
Once I learned how to focus the scope of my code-creating assistant, the power grew exponentially fast. It's not a true panacea to coding something from nothing, but it will result in 10 times the output of a typical programmer. The pace of software creation and the systems that support it are about to skyrocket. Even with the spooky swearing session and ability to go off the deep end, vibe coding does work, and if you already have a base level of knowledge, you will see a massive increase in productivity.
Since that first fateful hour of vibe coding, I've been waking up with ideas I want to vibe with. I've spent a few more hours on my first project to add additional API functions, clean up and modify the website, allow for downloading the markdown file from the web UI, and much more. Once you realize what you can accomplish with AI coding assistants, you start to see things differently. Everything becomes a nail you can quickly hammer with a few prompts.
We're living in a world that is changing extremely fast. New AI-based capabilities are coming faster than we can consume them, and the shock I felt from utilizing something this transformational is once in a lifetime.
I highly recommend you take a minute and try vibe coding. If you miss this trend, you will be left behind. Vibe on, my friends!
Tyler Shields is a principal analyst at Enterprise Strategy Group, now part of Omdia. He has more than 25 years of experience in cybersecurity technologies and markets, with an emphasis on vulnerability management, risk analysis, threat identification and offensive security technologies.
Enterprise Strategy Group is part of Omdia. Its analysts have business relationships with technology vendors.