5 ms·
Vibe Coding
- esafak 2y agoIf 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.
- lxgr 2y agoI've definitely implemented small utilities entirely in Claude (as webapps/"artifacts").
- williamcotton 2y agoI’ve had a lot of success with the method: https://github.com/williamcotton/search-input-query 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 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.
- sublinear 2y agoI 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.
- anotherhue 2y agoWe are all product managers now.
- williamcotton 2y agoI took this approach with this: https://github.com/williamcotton/webdsl 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.
- williamcotton 2y agoAnd the downvotes are for? Having used these tools at all?
- lxgr 2y agoI 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 2y agoI'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 2y agoCursor or Vscode+Github Copilot Chat.
- macNchz 2y agoI 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 2y agoMy 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 2y agoNot 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 2y agoThere 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 2y agoI think at this point it's no longer coding, it's more "AI coder management"
- ryandrake 2y agoEvery 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.
- Retr0id 2y agoSometimes you just need a place to sit
- SecretDreams 2y ago> 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 2y agoMoney.
- lxgr 2y agoBecause 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.
- kranner 2y agoI've seen something similar play out badly, in the context of young Indians (and other South Asians) who are underconfident in their use of English but need to use it in professional contexts. Some I know personally have gone from asking for editorial help on their drafts to completely surrendering to LLMs for all their output. I can't imagine it has helped their self-confidence. From the outside it almost seems they've given up on trying to express themselves entirely.
- 2y ago
- TacticalCoder 2y ago[dead]
- chrisfosterelli 2y agoThis sounds like something that works until it doesn't, and then you have this massive codebase you're responsible for that doesn't work, and you don't understand why or know whether it can even be fixed.
- tbrownaw 2y agoI 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.
- deleted 2y ago[deleted]
- talles 2y ago"Vibe" is just an euphemism for lazy here. And that's not 'coding' in any shape or form, it's code generation through an AI model, without even understanding it, very different thing. It's like comparing cheap ramen to fine Italian cuisine.
- ericrallen 2y ago> ...it's code generation through an AI model, without even understanding it... Are you implying that Andrej Karpathy[0] doesn’t understand how the code generation from these models works? Or are you saying he isn’t capable of understanding the output? [0]: https://karpathy.ai/ https://karpathy.ai/
- sublinear 2y agoI don't think anyone is implying the author can't understand. The problem is with insisting that one doesn't have to.
- lxgr 2y agoAs I read it, they're making a case that one does not always have to understand all levels, and that's literally the story of human progress in a nutshell. People are still free to understand the joys of computer programming "by hand", if they are so inclined, just like some people still know how to build internal combustion engines. It might even be very fulfilling, lead to a great career as a car mechanic, engine designer etc. – but I think it's fair to also just want to be able to drive one and take a trip to somewhere amazing, and I don't think we need to morally gatekeep anything.
- sublinear 2y agoIt's less about morals and more about stability and quality. The "middle class" today usually understands their craft on a fairly deep level regardless of "progress" experienced by higher levels of socioeconomic status. Talk to those people of status and ask them if they think it's sustainable. Talk to any sufficiently experienced engineer and tell them they don't understand at "all levels". The worry comes when all of that is devalued to the point that nothing matters beyond merely determining what needs to be done and the real gatekeeping is done by idiots who think they're smarter than those who actually do heads down work. We're throwing away everything for these idiots who walk all over those who are scared of taking this situation into their own hands. Not everyone can be a hero, but damn do we need a few.
- deleted 2y ago[deleted]
- AdieuToLogic 2y agoI sometimes wonder what someone on about their fifth edible would be like when given a deliverable. Now I know.
- cadamsdotcom 2y agoTo 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.
- kranner 2y ago> Build one to throw away, as they say. I believe Fred Brooks clarified this to mean you shouldn’t hesitate to throw away your first attempt if it comes up short despite your best effort. If an LLM came up with the first implementation, not only did you not do the hard work of understanding the problem and how to solve it but, worse, you could be anchored to the LLM’s implementation thinking about how to patch it up so it performs adequately. Personally I think you should have LLMs have a go after you’ve had a solid try yourself, so you can actually compare and see what you might have missed.
- geor9e 2y agoI love this - the former director of AI at Tesla doing and saying exactly what many of us have been doing for months now, even down to using voice instead of typing. And it's always specifically Whisper Large v3, Sonnet 3.5, and Cursor in Compose Agent Mode that people mention. The second-best tools just aren't fun like that combo. It feels like doing art: it's taming a beast, phrasing things one way and then another, testing, discarding the changes, and phrasing them a new way. It's having a spoken dialogue with your eyes literally closed, like the Rick Ruben meme. Think of the perfect poem using all your CS intuition, accept all changes and test, then guide the LLM with what it misunderstood. Glance at the code only if it helps see where a verbal misunderstanding took place. You need to spend your time leveling up your clear thinking and expressing skills here, not your coding skills. Think of how to build things as small, functional steps - chunking it into tasks that the dataset trained it to do. If you don't like this, then don't use it; it's not for everyone. This is not a replacement for people who can decipher machine code and type out syntax from memory — keep doing what makes you special! But I find it very exciting. Hardly anything feels gatekept by obscure knowledge anymore. I replaced the Google Assistant hardware button action on WearOS 5 with my own voice assistant that emails me notes I speak into my watch. Have I ever used Android Studio? No. Did it matter? No. It just did it, and it worked, because I asked the right questions in the right way. 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 - like how musicians get into a flow state, like an enmeshing of man and machine.
- kranner 2y agoSorry, but your comment is practically a case in point. Your points would have been better made if they had been organised into separate paragraphs. I'm assuming you dictated it off-the-cuff: I apologise if that wasn't the case.
- earth2mars 2y agoI vibe coded this blog. https://blog.tldrversion.com/posts/vibe-coding https://blog.tldrversion.com/posts/vibe-coding
- heckerhut 2y agoi vibe coded my entire website. at some point you gotta introduce smart patterns to create controlled chaos. in 6-12 months this will be able to tackle projects of significant complexity. the major breakthrough needed is "code intelligence", not just code mercinaries. someone will crack it, my guess would be anthropic first if they play their cards right. sonnet is still king of the hill
- jonthebeef 2y agoI get why some people are skeptical of “vibe coding”—it sounds like AI blindly generating code and hoping it works. But that’s not really what’s happening. It’s not about replacing solid engineering principles or craftsmanship—it’s about shifting how we interact with code. Instead of micromanaging every function from the start, you set intent and iterate quickly. It’s more like pair programming with an AI that can help you move faster, not handing over control entirely. I wrote about this after using DeepSeek R1 + Cursor to prototype an AI chat interface for my Raspberry Pi NAS. It still took over 100 prompts to refine, but it turned what was in my head into something real and functional—faster than if I’d started from scratch. The key is treating AI as a collaborator, not a crutch. If you’re interested in how natural language + agentic interfaces change how we build, I wrote more on it here: https://productandrobots.substack.com/p/its-a-vibe-dude https://productandrobots.substack.com/p/its-a-vibe-dude. Curious—has anyone else tried pushing AI beyond just simple code generation? How do you think this approach plays out long-term?