There’s a new kind of coding, and it’s got a vibe. Literally.
Andrej Karpathy put it best in his now-iconic tweet:
In simple terms, vibe coding is when you use AI tools like Cursor or Copilot to write code by intuition, prompt, accept, tweak, and repeat rather than planning every line yourself. This tweet hit hard because it captured something many of us were already doing without naming it. Tools like Cursor, GitHub Copilot, Augment Code, or Windsurf are getting so good that we sometimes forget we’re programming. Instead, we’re… jamming. Talking. Accepting diffs. Running code and praying it works. And yeah, it mostly does.
But Wait, Should You Still Learn to Code?
At Snowflake Dev Day, I watched Andrew Ng step up and say exactly what many of us needed to hear:
“Some are advising people not to learn coding because AI will automate it. This is bad career advice.”
Learning to code isn’t obsolete. It’s essential. AI might be your sidekick, but without knowing how to drive, you’ll end up accepting diffs that quietly break your whole stack, and I’ve been there one too many times.
Rise of the Vibe Coders
A couple of weeks later at the Weights & Biases conference, it was clear: AI coding isn’t just a fad, it’s booming.
Platforms like Copilot, Cursor, Windsurf, and Lovable have hit over a billion dollars in new revenue. People are vibe coding everything from toy games to data pipelines. And kids? They’re getting started too. Here’s the part that resonated most with me:
AI coding is still experimental.
We are still in a phase where the tools are brilliant, but unpredictable. Great for fast prototypes, hobby projects, and early-stage ideas, but not something you want to rewrite your production backend at 2 a.m.
My Experience: Vibe Coding My Website and Agents
I will confess that I’ve vibe-coded more times than I’d like to admit.
For example, my website on bolt.new? No Figma, no wireframes, just a general vision and natural language interaction. I would describe the section I wanted, click accept on a few LLM-generated blocks, move stuff around, iterate… and boom, published. Funnily enough, at one point, Bolt wouldn’t understand my prompts, so I asked ChatGPT to write prompts that would work with Bolt. It did wonders!! And when I’m prototyping with the aiXplain SDK on Cursor, whether I am building simple agents, testing prompts, or wiring up LLM logic, I go full vibe mode there too, sometimes. Cursor helps me get the structure down fast, especially in Python. I can quickly sketch functions, try different prompt variations, and let the AI scaffold pieces I’d usually write by hand. Sometimes it’s magic. I get cleaner code, better ideas, and I work faster.
Other times… Cursor rewrites a working function, and I spend the next 30 minutes undoing the “vibe.”
So, Should You Vibe Code?
Yes, but with vibes and judgment.
Use LLMs to think out loud, sketch code fast, and explore new patterns, but don’t zone out completely. Read the diffs. Keep version control close. And definitely, don’t let the AI rewrite your repo while you’re off making coffee (unless you’re into chaos). At the end of the day, vibe coding is just a new layer on top of what we already know.
Build fast. Test early. Stay curious. And don’t blindly trust the robot. You still need to know how to code.
But now, you can do it with a little more flow and a lot more fun. Before I wrap, here’s what’s been in my vibe coding toolkit lately:
Tools I Use for Vibe Coding
Cursor + Sonnet: my go-to for prototyping with LLMs
bolt.new: built my entire personal site with this
That’s been my experience with vibe coding: some magic, some mess, but always a faster feedback loop. If you have vibe-coded anything fun (or frustrating) recently, I’d love to hear about it. And if Cursor or any other AI coding IDE ever rewrote your entire working file into nonsense, just know you’re not alone.