Vibe Coding
32 comments
·February 3, 2025ryandrake
Every year I think the bar for acceptable software quality couldn't get any lower, and I get proven wrong again and again. I don't get the point of this. Why bother doing something if you're not going to either 1. do it well, or 2. use the exercise as a way to get better? This sounds like building a chair by just randomly nailing pieces of uncut wood together until it barely looks like a chair and supports your weight.
lxgr
Because sometimes, the journey is not the destination, and people really just want to get somewhere.
It honestly sounds like reprimanding somebody for sitting on the floor for a bit when they're tired, or ordering an Ikea chair, when a woodworking tutorial is right there on Youtube.
Retr0id
Sometimes you just need a place to sit
SecretDreams
> This sounds like building a chair by just randomly nailing pieces of uncut wood together until it barely looks like a chair and supports your weight.
Have you been on the internet lately?
romanovcode
Money.
cadamsdotcom
To people commenting that no should do this ever, and people commenting that kids shouldn’t learn this way:
It doesn’t have to be the only way someone ever builds software.
The right technique matches the effort level to the needed level of polish.
And vibe coding can be a great way to learn, and a great way to explore. Build one to throw away, as they say.
Finally and most interesting of all. Vibe coding opens up a whole new region on the effort-to-polish spectrum. There’s bound to be some interesting problems that can be solved now.
AdieuToLogic
I sometimes wonder what someone on about their fifth edible would be like when given a deliverable.
Now I know.
macNchz
I feel this—I've really enjoyed working on some throwaway projects where I can work like this and not sweat the small stuff at all. That said, the one area that's tricky to reconcile in this mode is security: in my (fairly extensive) experience with the current state of AI coding assistants, prompting for security is nowhere near sufficient for me to be comfortable putting a web app on the internet without reviewing the code carefully.
Just in the past few weeks I can think of several instances where an AI assistant added sensitive API endpoints with no authentication whatsoever, updated API endpoints with methods that didn't follow my guidance on authorization or existing authorization patterns in the codebase, or created templates with brutal potential for XSS.
I'm all in on coding with LLMs and use them every single day, but I'm quite confident there will be plenty of work for security engineers as we explore this future.
samantha-wiki
My fear is that if I were to start doing this, I would stop engaging in the difficult aspects of building something. And I think the skills I have now would atrophy.
lxgr
Not in my experience. You can still do everything as diligently and as manually as you find necessary or useful.
On the other hand, the bar to start exploring something in the first place (quite possibly sloppily, quite possibly containing a lot of bugs) has significantly gone down, and I personally find it amazing.
Retr0id
There are undoubtedly many kids learning to program for the first time, using a similar methodology. I'm very curious to see what sorts of things "AI native" developers build in the coming years.
klipt
I think at this point it's no longer coding, it's more "AI coder management"
williamcotton
I took this approach with this:
https://github.com/williamcotton/webdsl
I didn’t even put that much effort into defining the grammar, I just sort of let my fancy take flight. Which is a wild headspace to be in when writing a DSL in C with a web runtime with jq, Lua, GitHub OAuth and more all built in into the language itself.
It took some guidance of course and I’m well versed enough in C to have orchestrated the memory arenas and overall architecture but I sure has hell didn’t actually type more than 5% of the code.
Cursor Composer in agent mode with Claude Sonnet 3.5 has let me take on some very experimental endeavors.
null
tbrownaw
I am sorry to hear that, and I hope your insurance covers it.
---
Seriously tho, "wysiwyg with natural-language edit commands" seems like the sort of thing that I'd expect to have a sharp cliff, like RAD tools are known for but perhaps even sharper.
esafak
If you're writing CSS I suppose you can vibe code, but it won't work for anything more complicated. They get you close most of the time but you still have to work.
sublinear
I don't get how this sentiment still persists.
This is simply not true if you're working on more serious websites for clients who actually audit for accessibility or responsive design, nor if you want it to be maintainable by web devs that actually know what they're doing.
CSS definitely isn't as messy some C++ still out there in the wild. If you're doing it right you should be able to quickly write a minimal amount of code that does what you want even for fairly large websites. Involving AI for something so trivial would just get in the way. Bad CSS is usually due to the requirements specifying a terrible design, much like how bad requirements drive bad code in any other language.
williamcotton
I’ve had a lot of success with the method:
https://github.com/williamcotton/search-input-query
Search box DSL with React component with syntax highlighting, error syntax reporting, etc. Converts AST to postgres ilike, tsvector or pg_search.
https://github.com/williamcotton/guish
A bi-directional GUI editor for constructing Unix pipelines with bash CLI parsed to graphical modules.
All of these were made basically with the same tools and methods that Karpathy is describing as Vibe Coding.
These are not just simple little projects. This approach is not just limited to making a few CSS changes.
lxgr
I've definitely implemented small utilities entirely in Claude (as webapps/"artifacts").
lxgr
I can highly recommend giving this a try, even if it goes against every instinct you might have as a programmer of any level of seniority.
It's not (yet?) my preferred way of programming, but the fact that it works at all was hugely surprising to me, and I got more than one genuinely useful little utility out of it already.
lytedev
I'm pretty clueless with regards to modern LLM coding tools. What tools make this possible; talking to the computer to change code and whatnot?
alienreborn
Cursor or Vscode+Github Copilot Chat.
I love this. Former director of AI at Tesla. Doing and saying exactly what I've been doing for months now. Even down to the using my voice instead of typing. Specifically whisper large v3, sonnet 3.5, and cursor in compose agent mode. This is not a replacement for people who can decipher machine code and type out syntax by memory - keep doing what makes you special! This is a brand new art. It's taming a beast. It's phrasing things one way and then another way, testing, discarding the changes, phrasing a new way. It's having a dialogue with a machine with your eyes closed. Think of how to build things as small steps that function, and just add functionality with each modular step. If you don't like it, then don't use it, it's not for everyone. But I find it very exciting and enjoy the time I spend doing it. We live in magical times for those who want to dive in with an open mind to a new and strange paradigm. Vibe is a good name for it.