Vibe Coding
There’s a new kind of coding I call “vibe coding”, where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It’s possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Also I just talk to Composer with SuperWhisper so I barely even touch the keyboard. I ask for the dumbest things like “decrease the padding on the sidebar by half” because I’m too lazy to find it. I “Accept All” always, I don’t read the diffs anymore. When I get error messages I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I’d have to really read through it for a while. Sometimes the LLMs can’t fix a bug so I just work around it or ask for random changes until it goes away. It’s not too bad for throwaway weekend projects, but still quite amusing. I’m building a project or webapp, but it’s not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.
Via Simon Willison:
I’m concerned that the definition is already escaping its original intent. I’m seeing people apply the term “vibe coding” to all forms of code written with the assistance of AI. I think that both dilutes the term and gives a false impression of what’s possible with responsible AI-assisted programming.
Vibe coding is not the same thing as writing code with the help of LLMs!
[…]
Andrej is an extremely talented and experienced programmer—he has no need for AI assistance at all. He’s using LLMs like this because it’s fun to try out wild new ideas, and the speed at which an LLM can produce code is an order of magnitude faster than even the most skilled human programmers. For low stakes projects and prototypes why not just let it rip?
When I talk about vibe coding I mean building software with an LLM without reviewing the code it writes.
vibe coding, where 2 engineers can now create the tech debt of at least 50 engineers
But I just want to quickly recommend; do not hire anyone (a person or an agency) that thinks vibe coding is a good idea for production level products.
Experimenting? Playing? Thinking through ideas rapidly? Absolutely.
Think I’m crazy? Look at this email I just received from “Ian Foster” of Grayphite – a supposed “Cutting-Edge Software & AI solutions” business.
Previously:
- Whither Swift Assist?
- ChatGPT Now Integrates Directly With Xcode
- GitHub Copilot for Xcode
- LLM Coding Tools in Xcode
Update (2025-03-25): Andrej Karpathy:
I just vibe coded a whole iOS app in Swift (without having programmed in Swift before, though I learned some in the process) and now ~1 hour later it’s actually running on my physical phone. It was so ez… I had my hand held through the entire process. Very cool.
Steve Yegge (via Hacker News, interview, Slashdot):
In this post, I assume that vibe coding will grow up and people will use it for real engineering, with the “turn your brain off” version of it sticking around just for prototyping and fun projects. For me, vibe coding just means letting the AI do the work. How closely you choose to pay attention to the AI’s work depends solely on the problem at hand. For production, you pay attention; for prototypes, you chill. Either way, it’s vibe coding if you didn’t write it by hand.
[…]
Vibe coding is currently going batshit viral, growing like crazy on a dramatic exponential curve, hitting major media outlets like the NYT, flooding social media, celebrated by some, decried by others. A bunch of companies were busy banishing it just as Google was unofficially adopting it. Everyone’s still arguing about what “vibe coding” even means. But a ton of people, more every day, think it’s the future right now.
[…]
The chart in Figure 1 depicts six overlapping waves of programming: traditional (2022), completions-based (2023), chat-based (2024), coding agents (2025 H1), agent clusters (2025 H2), and agent fleets (2026).
In the figure, traditional and completions-based coding – the two manual modalities – are on the decline, and the others are rising exponentially. Beginning with chat, each new wave rises much faster than previous waves. Finally the figure depicts vibe coding as also increasing exponentially, but on a dotted line alongside the others, because as we’ll see in a bit, vibe coding is not a modality.
Cendyne (via Hacker News):
The execution of agents today is over-hyped and does not hold up to the needs of any functioning businesses which need experts to develop and maintain their technical capabilities instead of single points of failure on the internet.
These models are trained on average sloppy code, wrong answers on Stack Overflow, and the junk that ends up on Quora. Despite the power and capability Claude 3.7 Sonnet has in small contexts, when faced with even a small codebase it makes constant silly mistakes that no normal developer would repeat and continue to repeat every hour of its operation.
[…]
Without expert intervention, the best these tools can do today is produce a somewhat functional mockup, where every future change beyond that risks destroying existing functionality.
In the past few months, I have regularly used the agentic modes in Cursor, Windsurf and Cline, almost exclusively for changing existing codebases (as opposed to creating Tic Tac Toe from scratch). I am overall very impressed by the recent progress in IDE integration and how those integrations massively boost the way in which the tools can assist me.
Previously:
6 Comments RSS · Twitter · Mastodon
I used this sort of "vibe" to prototype a simple Audio Unit that uses Core ML AI was a lot faster than reading the manuals and learning how it really works. With a little prodding, it produced a functional demo! Unfortunately, it ran my Studio M2U with all cores at 100%, totally inefficient. It was hilarious.
Holy crap do not do this in production. I've run a few things by ChatGPT it used to get right, not even about coding but server admin, and it has gone wildly farther off the rails than it used to.
This is largely being driven by SaaS bros, usually who come without a technical background but a decent sales channel for whatever they've built. LevelsIO and Marc Lou, to a lesser degree, The Primegean and "Theo/t3.gg," present a type of lifestyle on social media that fuels the thing.
These characters often openly admit that they don't know anything about code, which I think is annoying because it 1) shows disregard for the domain, and 2) these systems are complex and have to be managed properly. The LLMs don't help with that.
I'm really not sure what to make of it. On one hand, it seems like SaaS is kind of a dying category to be running toward, especially just now. That it'd be replaced by AI agents (or other automation tools) has been discussed for some time.
Tfw you build in public, but discover that the internet is a hostile environment:
https://x.com/leojr94_/status/1902537756674318347
https://x.com/jackfriks/status/1902160166998470917
I HATE the name vibe coding because it reeks of life style entrepreneur dude bro.
With that out of the way I've been doing this for a while now with super focused web apps. I made one that checks to see which years that will have Mardi Gras and the first thursday of march in the same week (this is important for Swedish people since it puts two of the major cake/pastry events in the same week, just two days apart...)
But I also made a fully working Metronome for the Playdate written in Lua. It's on itch.io and has been downloaded a staggering .. 31 TIMES!
So yeah, I use llms to create stuff and it works.
But I do not see this as the future of software development. I definitely see that LLMs can be great companions for anyone writing code, Pair Programming made real, but the amount of micromamanging that I had to do to get the metronome working nearly made me give up on it several times. And without my years as a developer I don't think it would have been possible at all.
I do hope more people will use llms to create super specific tools like the Mardi Gras/Thursday calculator. But anything beyond that level ... I don't think it's sustainable.
Is this a joke?
I run a few things by ChatGPT. Sometimes it comes up with something good. Sometimes it produces crap. When it comes up with something good it usually still has bugs but if you know what you're reading (meaning you have some programming skills) you can use the good stuff ChatGPT spits out to save time because of how fast it can spit it out but typically it's just a *starting point*.
Sure it'll save you time if you do things like: "translate this Swift Code into Objective-C" but you still have to read it to make sure it got it right.
But you should never just paste the shit ChatGPT writes without carefully reading it unless you have no pride