The world of software development is evolving at a rapid pace, which is no surprise. But lately, it’s not just about new frameworks or languages — it feels like we’re stepping into a whole new way of building software. Enter: vibe coding.
Now, if you’re thinking WTF is vibe coding… I had the same thought, and I was already vibing. Behind the playful name lies a powerful shift in how people are writing code: using AI to translate natural language descriptions into functional software.
What exactly is vibe coding?
Vibe coding is an AI-assisted approach to software development where users describe their ideas in natural language, and AI generates the code for them. This method allows people to build software using conversational language instead of writing syntax-specific code.
The term vibe coding was coined by Andrej Karpathy, a prominent AI engineer and researcher who previously worked at Tesla and OpenAI. In early 2024, Karpathy described vibe coding in a tweet that gained significant attention in the developer community. He characterized it as a process where developers “fully give in to the vibes, embrace exponentials, and forget that the code even exists.”
The core concept of vibe coding involves:
- Describing software ideas and features in plain language.
- Letting AI interpret and generate relevant code.
- Iterating and refining the output through conversation with the AI.
- Deploying the resulting software.
This approach has gained traction due to recent advances in AI and language models, enabling non-programmers to build functional software by working with AI rather than writing code directly. Vibe coding represents a cultural shift in software development, lowering the barrier to entry and potentially transforming how creators and entrepreneurs approach building digital products.
Why does this matter?
The potential impact is massive. Consider these possibilities:
- Lowering the Barrier to Entry: suddenly, software development isn’t just for engineers. Entrepreneurs, designers, and hobbyists can build apps without needing deep technical expertise. In the last few months, I’ve been building my first product with just myself and AI.
- Accelerating Development Cycles: prototyping and MVPs can move from idea to execution in days instead of months.
- Unlocking Creativity: by automating the mundane aspects of coding, developers can focus on the bigger picture — solving complex problems and designing intuitive user experiences.
The current state of vibe coding
It’s not just a futuristic dream. Several AI-powered tools are already making vibe coding a reality:
Several tools are currently available for implementing vibe coding, allowing users to create software using AI-assisted methods. The most prominent options include:
- Cursor: features the Composer tool, which can create, edit, and delete files in your codebase. (my personal favorite)
- Replit: a browser-based and native app tool that offers a full-stack development environment with AI agent integration. It supports multiple programming languages and provides easy deployment options.
- Lovable.dev: designed for beginners, it offers a simple interface with real-time preview and natural language prompting. IMO one of the best for beginners with no coding experience.
- Bolt.new: ideal for quick prototyping with zero setup time, providing a browser-based development environment.
- Windsurf: includes the Cascade feature, which functions similarly to Cursor’s Composer.
- Cline: an open-source vibe coding tool.
- Claude Code: an experimental tool developed by Anthropic, currently available in beta as a research preview.
- GitHub Copilot: an AI pair-programmer developed by GitHub and OpenAI, with a great free tier.
- Aider: a vibe coding tool mentioned in recent developments.
- MetaGPT: the newest edition to the AI Agent coding landscape. It focuses on a multi-agent layered approach.
- v0 by Vercel: this tool is pretty cool, it uses Shadcn for natural language component generation.
- SuperWhisper or Wispr flow: super easy voice dictation. I use Wispr flow for talking to Cursor.
New tools and platforms are emerging all the time, expanding what’s possible with AI-assisted coding, especially for those with little to no coding experience.
How I started and where I’m at
Last November, a friend introduced me to Cursor. He was building his own Figma plugins, and I was really blown away. He gave me a brief tutorial and got me set up, and within a couple of weeks, I was on my way to experimenting and building my own Figma plugin.
After I finished this, I got a little ahead of myself and thought, “Well, if I can make a Figma plug-in, I can build my own app. Why not?” When I started this, Sonnet 3.5 wasn’t even a thing yet.
It’s important to know that I basically have no coding or engineering experience, but what I do have is years of product design and development knowledge. I think this is what has allowed me to get super far with this process. Pair that with I’ve been really deep into generative AI since 2021, and so I’ve been refining the way that I speak to large language models and refining that process, and have a pretty good idea of what works and what doesn’t work.
So what have I been able to do? A lot.
Honestly, when I take a step back and look at what I’ve been able to accomplish basically by myself, I feel like it’s actually pretty impressive. I started to build an idea that I’ve had for a while, which is an AI-powered recipe app. I use AI a lot for cooking, and over the past few years, a lot of our meal planning, prep, and recipes are now actually from my custom chefGPT. So I started building lilchef.app.
Basically, every day I’m able to implement a new feature, and not small ones. The recent release of sonnet-3.7 has drastically sped up my vibe coding process. We’ve been using lil’ chef every day to help with meal planning, recipes, and cooking. I honestly never thought I’d be able to do something like this.
It makes me realize that the future for anyone who has an idea or wants to create something is definitely possible — we’re moving into a world where anyone can quickly spin up and create a custom software or product that is so personalized and contextual to them and their use case that everyone is going to start to become super efficient.
My current vibe code setup
I was texting with a friend the other day, and they asked for an overview of my process.
Here’s my current flow:
I typically start in Perplexity. (You can also use ChatGPT search)
I use Perplexity to do all of the research of what I’m thinking about for either the initial idea, which in this case I’ve already passed, so I now use it for new feature ideation.
I utilize the projects of Perplexity, and I have my old cursor rules file as a grounding documentation in there. So when I’m doing research on a new feature that I want to implement, Perplexity automatically knows my entire tech stack.
When I feel good about where that feature is, I have Perplexity turn it into a simplified PRD that I then turn into a markdown file that I turn into a .md file in my .stories file. (think user stories)
I have my PRD broken down into job stories, and those job stories basically act as “tickets.” Here is an example of a user-story.md:
I have my cursor rules set up for general front-end, backend, etc.
When I get into the cursor if it’s a more complex or larger feature, I sometimes use 03-mini in Agent mode for the foundation, and then I do all of the code implementation with Claude sonnet-3.7, but lately I’ve just been going to sonnet-3.7.
Below is a thread that lists everything I’m currently using for the setup.
The challenges: it’s not all rainbows and unicorns
As exciting as vibe coding is, it’s not without its challenges:
- Security Risks: AI-generated code can be prone to vulnerabilities if not reviewed carefully.
- The Black Box Problem: if you didn’t write the code, how well do you really understand it? Over-reliance on AI without grasping the fundamentals can lead to long-term issues. I struggle with this a lot. Luckily, I have a lot of really smart friends who are engineers and are always willing to help.
- Skill Shifts: while vibe coding lowers the barrier to entry, skilled developers will still be needed to guide and collaborate with AI tools.
- Ethical Considerations: as AI-generated code becomes more powerful, we’ll need to address concerns around bias, responsibility, and transparency.
The future is… vibing?
Vibe coding won’t replace traditional programming overnight. But it’s definitely a game-changer. It has the potential to democratize software development, speed up innovation, and empower a new generation of creators. Like I’ve said before, “if it’s imaginable, it’s achievable.”
As we move forward, we need both excitement and a healthy dose of skepticism. Addressing the risks, refining the technology, and ensuring responsible usage will be key to unlocking its full potential.
Are you currently vibe coding?
The article originally appeared on Medium.
Featured image courtesy: Jacquelyn Halpern.