I love the word “vibe.” I love how it captures the looseness of doing things fluidly, like skiing or snowboarding—swaying and flowing toward your goal. It perfectly describes my experience using AI for anything creative. Which is why I love the term vibe coding.
Vibe coding is when mere mortals like myself use cursor or lovable to create. It's a thoroughly enjoyable process of losing yourself in the eddies of iterative code-making and code-breaking that brings you circling closer and closer to the thing or function you're trying to create. Most of what you make is disposable. Easy come, easy go.
Andrej Karpathy, who was part of the founding team at OpenAI and was director of AI at Tesla, coined the term in a post on X:
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.
Andrew Chen posted an excellent take on what vibe coding is and what it means for software development and even what will happen to non-software industries. My favorite is the idea that code will be generated mostly by the "time rich". It instantly flips my head around: much like YouTube and TikTok, rather than Hollywood, account for most video, we'll see all kinds of creative and compelling code as an expression of culture rather than just a reflection of it.
It reminds me of one of my favorite passages from The Mythical Man-Month, which is a classical book on software engineering:
Why is programming fun? What delights may its practitioner expect as his reward? First is the sheer joy of making things. As the child delights in his mud pie, so the adult enjoys building things, especially things of his own design. I think this delight must be an image of God's delight in making things, a delight shown in the distinctness and newness of each leaf and each snowflake.
Second is the pleasure of making things that are useful to other people. Deep within, we want others to use our work and to find it helpful...
Third is the fascination of fashioning complex puzzle-like objects of interlocking moving parts and watching them work in subtle cycles, playing out the consequences of principles built in from the beginning. The programmed computer has all the fascination of the pinball machine or the jukebox mechanism, carried to the ultimate.
Fourth is the joy of always learning, which springs from the nonrepeating nature of the task. In one way or another the problem is ever new, and its solver learns something: sometimes practical, sometimes theoretical, and sometimes both. Finally, there is the delight of working in such a tractable medium. The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination.
All of this is just as true for the vibe coder today as it was for the programmer when this book was published in 1975, but now the "joys of the craft" are much more accessible.
I'll take it a step further than Andrew does and suggest that the vibe ethos is going to permeate a lot more of our life than just software development. AI lends itself to a vibey approach. When I'm writing something and I want to use AI to help me get the word right or structure the thing right or just help me get to the point, it's a very iterative, two cans of Diet Coke and a box of Cheez-It's type of process.
It also opens up whole new domains. I’ve always known it when I walk into a room furnished the way I like, but I don’t have a clue how to furnish a room so that I like it. Much easier to say “I like this” and “I don’t like this” until you get what you want.
We're going to see a lot more vibe life where people take all aspects of their creative life and start leaving the details to the computer. Why bother with the details? If words, images, code are cheap and infinite, what's the point in being precise? Why measure twice and cut once when you could measure never and cut 3,000 times?
It's a vibe.
ps. my friend Stewart Ugelow just pointed me to this overview of how to use LLMs to write code. It's a little less vibe and a little more code-writing, but it's a great window into coding with LLMs just the same.
Completely agree with all this but especially the point about interior design. Vibe coding means we can all become product managers without needing a team to follow us.