From the jump, even without the emdashes, it was crystal clear that this post was written by Claude. I'm sure the OP put their own ideas into the prompt, provided some sources, etc. But reading some of these phrases provoked a pretty visceral sense that I'm just reading an LLM's output:
"The harsh reality"
"he perfectly captured"
"architectural decisions that make senior engineers weep"
"fundamental issue"
It makes me wonder whether a whole class of writing is going to be deprecated because the cadence is just too similar to LLM outputs.
It's a bit strange that Karpathy's "vibe coding" ever gained traction as a concept, although perhaps only among those without enough experience to know better.
As I understand it, what Karpathy was referring to as "vibe coding" was some sort of flow state "just talk to the AI, never look back" thing. Don't look at the generated code, just feel the AGI vibes ...
It sounds absolutely horrific if you care even the tiniest bit about the quality of what you are building! Good for laughs and "AGI is here!" Twitter posts, maybe for home projects and throwaway scripts, but as a way of developing serious software ?!!!
I think part of the reason this has taken off (other than the cool sounding name) is because it came from Karpathy. The same idea from anyone less well known would have probably been shot down.
I've seen junior developers (and even not so junior), pre-AI, code in this kind of way - copy some code from someplace and just hack it until it works. Got a nasty core dump bug? - just reorder your source code until it goes away. At minimum in a corporate environment this way or working would get you talked to, if not put on a performance plan or worse!
For many non-technical people, their relationships with software engineers were producing horrific results. Vibe coding is an indictment of what we’ve been delivering. That a vibe-coded disaster is in any way desirable reflects poorly on us. The branding by Karpathy is cute but irrelevant to its success.
I know people running vibe coded startups. The software quality is garbage. But it does what they want. And that’s all they care about for now. Until a time when software quality impacts their business more than losing control does, they’ll keep vibe coding, rather than hiring a software engineer who bastardises their ideas.
A garbage version of the thing you want is better than a perfect version of something you don’t want.
Using AI doesn't necessitate "vibe coding" - there are smart ways to use AI, where you are managing and structuring the process, as well "vibe coding".
I guess the problem is that AI now allows non-programmers to program. It would be a bit like giving everyone a scalpel and they now either consider themselves to be surgeons, or give it a go regardless since now they can.
I'm not sure where you are getting software engineers that are "bastardising" your ideas?! You may want to look elsewhere, or pay for someone better !
I still maintain that the original tweet about it was a joke, or at least not a suggestion for doing real work but just a reflection on the freedom of yolo mode coding. It wasn't meant to be instructions.
I'm not sure.. I kind of remembered it that way too, although perhaps not so much as a joke but just a throwaway tweet of what he was up so - experimenting with AI and having fun.
However, I just searched up his tweet, and now I'm not so sure - he seemed to be advocating it as a new way of coding.
Like it or not vibe coding is here to stay, I too don't agree with the concept but have told people in my org that I've 'vibe coded' this or 'vibe coded' that. To us it just means we used AI to write most of the code.
I would never have it be put into production without any type of review though, it's more for "I vibe coded this cool app, take a look, maybe this can be something bigger..."
I feel at this point ‘vibe coding’ is just a disparaging phrase of any AI coding assistance.
As always people can create both good and bad code using the tools at their disposal but right now there’s a lot of upvotes to be had online by simply posting ‘lol vibe coding so dumb!’. It’s tiring at this point.
Yes definitely, but I'm pretty sure that he was just saying vibe coding is POSSIBLE and a fun thing to try, to see how far you can get (which is true, it can do some surprising things)
Not that companies should literally try to "vibe code" production software
The phrase got totally taken out of context, probably because it's what people WANTED to believe. They wanted to believe that the hard thing was now easy, and they could make/save a lot of money that way
I suspect that he, as an insider is able to prompt and configure so that he gets good usable results every time, and when he describes that, it sounds so easy and obviously you should do it too.
I have been taking on "rescue" projects for a while through my business. Previously, the barely-functioning code was usually being generated via outsourcing agencies but it seems the new source is now going to be LLMs.
I imagine it will be the same set of issues really. Just a different way of cost cutting measures. There can be good reasons to take shortcuts but, in my experience, the problems start when you're not mindful that there's a price to pay for taking these shortcuts. Whether it comes from managers, employees or outsourced personnel, it's the same result.
I haven't thought about advertising it as a separate type of service(for vibe coded platforms) yet but maybe I should. The Australian software market is small so haven't been hearing much about the results of those experiments.
One of the issues with vibe coding vs. outsourcing agencies is the sheer volume of code it can produce in a short amount of time.
I vibe-coded a simple helper script. If I wrote it myself it would have been 1/3rd the lines, not covered most edge cases (some of which were completely irrelevant, some of which actually useful), and it would have taken me way longer than just checking if the vibe-coded code works (this was the "either it works or it doesn't" kind of task, not something where subtle errors could reasonably be introduced).
I skimmed the code and removed the line that deletes temp files to reduce the risk that it accidentally wipes my home dir and ran it. As I was trying to work with the data deeper, I noticed missing temp files, and realized that there were two other temp file deletion lines that I missed.
It's simply too much code for a human to reasonably read, but the speed benefits are real.
(My plan for the future is not reading the code more carefully, it's putting it in a sandbox and letting the AI play.)
There's a BIG difference, at least with tools like Claude Code: plan mode. I'm now using Claude Code a lot at at work, and the first thing I do is enter plan mode where I can have a "conversation" asking it explain how it would implement. Just a few back/forth later I end up refining its plan to conform to good (or what I think is "good") design, after which it will tell me exactly what it is going to do (with code diffs), which I sign off on (again, potentially after a few iterations). It's only then that it generates the code.
By contrast, on one project many years ago I was reviewing the code generated by an overseas team, and I couldn't make head or tail of it, it was an absolute tangled mess that was impossible to fix.
Might be a good idea, though word of mouth and networking is how I get work and SEO has stopped being a useful avenue for a project pipeline quite a while back.
I was thinking of doing something like that, but how does it work for the company in the end? If they vibe coded their project and now have shitty code full of bugs, you come in, fix the bugs and organize the code better and that's it? How do they continue to maintain it if they didn't have the knowledge to set it up in the first place?
They would try to hire and/or build the team they need to move forward, if they have the money.
Knowledge is usually not the problem, it is the shortcuts(or short-term decisions) that got them to a place where they can no longer operate the platform they need to survive. Often this is the cause of prioritizing velocity over anything and everything else. This is choosing the do it fast and do it cheap options with the assumption that it is always correct. That assumption of course is almost never true.
By the way, most cases where I've seen this there's usually an investor involved and they need to impress them.
The pattern I've seen repeatedly in real life is that a company does something they don't expect to be important and impactful, cutting every corner they possibly can to shovel out something that minimally meets the requirements. And then that software surprises everyone by actually being wildly successful, and now they have to support it and modify it to a state where they can build upon it. Which might be hard if the product is an unholy mess made by people who knew little of what they were doing and cared about it exactly as much as they got paid for it (that is, not much).
And cutting every corner to get the cheapest possible product out might not have even been the wrong call! Presumably most things made this way fare just as well as they were expected to and die quickly after being made, not spending scarce resources on making them better was probably the right thing to do.
It just sucks when you end up having to maintain strict backwards compatibility to something that was made in two weeks by one guy who took every shortcut on the way to duct-tape together something that technically does what was asked for. (Yes I'm thinking of you, javascript.)
This. Based on what I have seen so far in my company so very anecdotal.
Assuming they know and/or have the capability to do it, between the cost of correcting the issue and push to use AI into everything meaning raising any issue now, politically speaking, is a direct criticism of someone major VP pet projects. I personally simply started to log stuff.
The first thing they need to do first is acknowledge there is a problem to begin with. I am so glad I am not an actual programmer though. It would drive me nuts.
There's definitely a lot of politics involved in such projects. So I've learned that a break is necessary between major engagements to decrease the risk of burnout.
The environment that creates "rescue" projects is usually not one where long term thinking is prevalent. It would be a pet project of someone who's still there or someone who left but where the ultimate decision maker is still there. Either case, you need to walk on egg-shells and be mindful that dealing with the technology problems is the easiest part of such an engagement. I'm not ashamed to admit that I've learned that lesson the hard way.
I think if they are interested on fixing it it's because the project provide business value, so then now it's worth it to build the software development team or make a contract with software development agency
I suppose a lot of the same kinds of skills will be required for both outsourcing, and LLM driven development.
That is, the "engineering" side of things (requirements gathering, communication, stakeholder management, defining specifications, testing, documentation, and generally managing chaos)
> Startups save weeks getting to MVP with Vibe Coding, then spend comparable time and budget on cleanup. But that’s still faster than traditional development.
That's the core of situation as described in the article. I wonder how true that is, that it's faster overall than having developers build the MVP.
From what I've seen, I think developers can build just as fast, especially with AI assistance. They may not want to though, knowing full well the MVP/prototype will go directly into production.
Better to take some time to have a decent architecture early on. Product and management probably see that as a waste of time.
On the other hand, vibe coding allows the product team to make exactly what they want without having to explain it to developers. That's the real draw to this, basically a much better figma.
Perhaps there is a market for a product oriented vibe coding tool, that doesn't pretend to make code, but gives developers much better specifications while allowing the product and business side better input in the process.
>> Startups save weeks getting to MVP with Vibe Coding, then spend comparable time and budget on cleanup. But that’s still faster than traditional development.
> That's the core of situation as described in the article. I wonder how true that is, that it's faster overall than having developers build the MVP.
In a startup it's often very important to show traction, and thus decreasing time to market can be hugely beneficial, even if it costs you more time overall.
The same reason people can rationally take on technical debt in general.
I agree with you. There is an advantage to being first on market, but the "damn the consequences" part is very much VC-fueled. Start-ups going to market (and failing) as fast as possible is very much in the financial interest of the VC, but generally good neither the startup nor its employees nor the ecosystem.
I've lived through several semi-disastrous VC-pushed early product launches, and have seen some being sufficiently bad to entirely destroy a product, despite it being extremely useful.
There is a balance between getting to market as fast as possible and avoiding an architecture that will immediately make it hard to iterate after MVP.
The problem is that a lot of engineers don’t know how to not over engineer and waste time. And product/sales usually don’t know how to strike the balance.
For building a prototype, unless you have the discipline to not put the prototype into production and your organization has similar discipline, I wouldn't recommend vibe coding. We all know how hard it can be to convince management that he amazing thing they're using right this moment needs to be scrapped and rewritten because the insides are garbage.
No-code tools are better suited and safer to use in that respect.
This is true, except that in my experience, senior management seems to have a real hard time, differentiating between “ship-quality, but sparse, MVP,” and “lash-up, crap-quality prototype.”
> knowing full well the MVP/prototype will go directly into production.
If they didn’t think that was happening already, they were fooling themselves.
I remember a quote on here, where they said something along the lines of “If your MVP code doesn’t make you physically sick, you’re spending too much time on code quality.” MVPs seem to inevitably become the backbone of the company’s future.
I guess the service could be more accurately described as “C-Suite Cleanup As A Service,” but no one would hire them, then.
I wonder if vibe coding is a bit like DIY plumbing. You can do it yourself a bit and then later when water starts gushing all over your bathroom you hire an emergency plumber at a high fee.
You could say that. Professional plumbers often love to use tools built to make the lives of DIY plumbers easier too though. The difference is they know when and when not to do so.
Sure but in the software field a few years is a lifetime.
It's taken 8 years to go from introduction of the Transformer (attention paper) to today's LLMs, so I wouldn't be holding your breath waiting for something significantly different or more capable to replace it. It may well take AGI to replace a human "vibe coded mess" fixer-upper.
The technical debt you're building up by vibe coding your product may well become a boat anchor well before some product you are fantasizing about materializes to bail you out.
If you've somehow vibe coded an MVP good enough to push out to customers, and achieved some degree of success with it, then what you need to keep going is momentum - to be responsive to customer feedback, add new features, etc. If you've built such a poorly designed and flaky MVP that you can't rapidly iterate on it, then that is probably not going to go well.
> It's taken 8 years to go from introduction of the Transformer (attention paper) to today's LLMs
I feel this position severely discounts the acceleration that is going on right now and our inherently limited abilities. Humans are not going to ever be significantly better at coding than they are today, and we can literally watch LLMs improve on it, by the month.
We'll see. I think software development is one of the more challenging things that humans are capable of, and the challenge isn't because of something that computers have any advantage with due to computation speed or memory (unlike, say, chess).
I wouldn't expect to see a human level AI software developer (not just "coder" - the easiest part of the job) until we have human level AGI. Run-time compute and agents seem to be responsible for most of the recent advances in capability - good ways to squeeze the most out of the underlying LLM paradigm, but not the path to AGI.
We'll get there (AGI) one day, maybe in next 10-20 years, but in meantime if you want a vibe coded pile of sphaghetti to be cleaned up, it seems like it's going to be a job for a human.
It's an apt analogy. It's like the realtor is under pressure to sell the house so does a quick and dirty DIY plumbing. Then when the house is sold you hire a real plumber to fix it right, hopefully before the gushing disaster.
Here, founders demo something that attracts the investors' or customers' attention - then they can clean it up later.
Janitor Engineers [0] are already a thing? Damn. Also, all links in this article starting from the "Why AI code fails at scale" section are dead for some reason, even though it was written only 5 days ago. That raises some questions...
EDIT: Not trying to offend anyone with this [0], I've actually had the same half-joking retirement plan since the dawn of vibe coding, to become an "all-organic-code" consultant who untangles and cleans up AI-generated mess.
I’ve always found the pioneer, settler, town planner model to be a great way of thinking about this. Successful, long-term projects or organizations eventually can use all 3 types.
Maybe vibe coding replaces some pioneering work, but that still leaves a lot for settlers to do.
There's still a market, but when I looked into COBOL work out of curiosity (I've never been anywhere near it in real life), the salaries I found were surprisingly low, compared with common modern languages.
Perhaps the old adage "it's getting hard to find X employees [at the price we are willing to pay]" applies.
That surprised me because I've seen articles and heard podcasts for years where they've said COBOL programmers are well paid due to scarcity, though never quoting amounts.
Vibe Coding is accelerating the death of documentation and architectural clarity.
Companies are measuring success by tokens generated and time-to-prototype, ignoring the massive, hidden cost of cleanup/maintenance.
The real skill is guiding generation carefully so the generated software isn’t crap. Some people here see Claude code and think it’s state of the art, whereas for best results you need a much more involved process.
It isn’t that different from any other form of engineering, really. Minimize cost, fulfill requirements; smarts-deficient folks won’t put maintainability in their spec and will get exactly what they asked for.
I bought into that idea a month or two ago, that more control and detailed instructions would deliver a clean result. That just led me down a rabbit hole of endless prompt re-runs and optimization loops. Many time I thought I had the final, perfect prompt, the next iteration slightly worsened the output. And sometimes the output was the same.
The last 20-30% of precision is brutal. The time and tokens we burn trying to perfect a prompt is simply not an optimal use of engineering hours. The problem is simple: Companies prioritize profit over the optimal solution, and the initial sales pitch was about replacement then it changed now its all about speed. I'm not making a case against AI or LLMs; I'm saying the current workflow, a path of least resistance means we are inevitably progressing toward more technical debt and cleanup at our hands.
Legacy code isn't necessarily bad - it may just be complex, or poorly documented, having accumulated a lot of production fixes over the years that were never properly documented (if if the original project was - typically not).
Your legacy code products may be happily running without problems, due to all those production issues (incl. new requirements) that were identified and fixed over the years, with the problem only coming when there is a need to change it, especially when there is no-one left familiar with the codebase, maybe not even with the language/tools used to build it.
Thanks pmxi. I read that post when it trended, and it got me thinking. I then wrote a post that tries to give a framework for deciding whether to take a gig fixing vibe code.
Depends on training data. It's not great at rust but it can chug along in small examples. I do suspect strongly typed languages are more suited to AI if it has the opportunity to learn them properly. The movement recently has been generalization, but i personally think if we want to reach further in AI coding, we need models with language and domain specialization.
I imagine a AI agent trained to parse LLVM and feed itself static analysis output, could reach new heights of code understanding for Rust for example.
> people are reluctant to change vibe code?
I think people are reluctant to change existing code in general. Its one thing for a personal project, but for a collaborative codebase, it's a large investment of energy to parse out a unfamiliar part of the system. "The original developer made sure this works, and it passes all tests, so i shouldn't poke it too much without knowing the system as well".
I think most often people have some vibe coded stuff that kind of does what they want but they don't really understand what it all is and how it works, or any confidence it can be made into something useful, so rather than spending time cleaning up AI code they just use it to grasp the idea and write it themselves. Whether any time is saved by going through this process with the AI seems doubtful to me. Sitting down with pen and paper and thinking through things would probably be more useful.
Our company has been doing emergency fixes (system that are down, costing companies significant money and they cannot fix) for decades. We have been seeing a significant uptick in occurrences the past few years.
That raises the question if LLM-generated code is going out of fashion in general. The article seems to assume it will always exist and always need clean-up. But what if it's not worth it and instead you should (mainly) return to the world where humans write code? Simply because salary < LLM-credits + cleanup costs.
It might turn out to be unsustainably expensive to vibe code all day. That it was so subsidized might have been the irrational exuberance, which arguably leaves a bait-and-switch hangover.
But the general idea of compressing every code example in existence into a predictive autocompleter and generative assistant will never go away.
It would be like coding without syntax highlighting, by choice. Sure, people did it when they had to, but not anymore. You could, but why?
Do I really feel better about myself for writing a slight variation on depth-first search by hand for the 80th time? Not really?
Would be interesting to see an in depth breakdown on a project that has went through the vibe code to cleanup pipeline in full. Or even just a 'heavy LLM usage' to 'cleanup needed' process. So, if the commits were tagged as LLM vs human written similar to how it's done for Aider[0]: At which point does the LLM capability start to drop off a cliff, which parts of the code needed the most drastic refactors shortly after?
* come up with requirements for a non-obvious system
* try to vibe-code it
* clean it up manually
* add detailed description and comparisons of before and after; especially, was it faster or slower than just writing everything manually in the first place?
That's also my intuition, but I would like to test and measure it against a real and non-obvious system use case; some day I will and will write about it :)
This mirrors exactly what we learned from outsourcing over the past two decades. The successful teams weren’t those with the best offshore developers - they were the ones who mastered writing unambiguous specifications.
AI coding has the same bottleneck: specification quality. The difference is that with outsourcing, poor specs meant waiting weeks for the wrong thing. With AI, poor specs mean iterating indefinitely on the wrong thing.
The irony is that AI is excellent at helping refine specifications - identifying ambiguities, expanding requirements, removing assumptions. The specification effectively IS the code, just in human language instead of syntax.
Teams that struggled with distributed development are repeating the same mistakes with AI. Those who learned specification discipline are thriving because they understand that clear requirements determine quality output, regardless of the implementer.
And the ship is only turned around for a brief period of time because the next gen mbas will restart the outsourcing cycle. The allure of replacing your most expensive employees at one third the cost regardless of quality impacts is just too tempting to pass up.
As a freelance developer, I've already had one job that was essentially vibe coding cleanup - though I ended up recommending that I just rewrite the whole codebase (I reused one tiny piece). It's definitely a new world.
In the long term, software development is about theory building more than coding. And these are theories that need wrestle with wholly imperfect external systems, as well as business departments whose desires and needs are in conflict with each other and with themselves from day to day.
LLMs are still too sycophantic. The ideal agent needs to say no increasingly as time moves on, explaining why new requirements would conflict with existing commitments, and grunt awkwardly and emit enough noxious fumes so that business people only come forward with their most pressing needs rather than wavering whims.
I wonder how many of these vibe coding build apps will grow to massive apps/be really popular (I imagine a lot of them will)... and what kind of security vulns we'll see everywhere because of how it was initally built...
i can only imagine that services like described in this article will become a very common part of getting proof of concepts built with AI into production.....
The infamous "tea dating app leak" was (supposedly) organic home grown human slop, yet did this much damage.... We may see distrust for new apps and websites rise in few years after more people get burnt by things like this.
In Spanish we have the saying: "Lo barato sale caro". So in order to save, you turn to "AI", and then you immediately need to turn to a real developer or a development team. If I were in this business, I would charge hefty amounts too, because I can imagine the type of disaster that will have to deal with.
this article doesn't add much; it's a thin advertorial for their services. It also just seems like typical maintenance programming, which has existed for about 1 day less than the entire time we've been writing software. I guess even this most unattractive of all programming work is also looking for a little AI sauce to spice up the offerring, and justify increased rates (maintenance work: $100/hr; vibe-coding cleanup: $200/hr)
I use Elixir in production. So, it's already a pretty unique language with very low marketshare in the first place and not many developers are attracted to it because of that and the opportunities.
And rarely, I do take on some existing codebases that would smell of code rot from vibe coding. Elixir is one of those languages where it's actually hard to make something look complex. But, vibe coders somehow manage to pull it off. There are usually all these modules all over the place - running Genservers instead of just using something simplified, lot of Javascript like patterns all over the place.
And so, I dug deeper, I tried Claude, GPT-5 and Gemini. While each have their own merit, they all seem to be flawed when it comes to keeping things simple. Having said that, there are a lot of times I'm stuck in these codebases and the AI knows exactly what's happening if you give it the right context (within VS Code). So, definitely you can just setup a small shop to "De-vibe" coding with AI. Ironically.
Yes, the quality of output varies greatly depending on the model. Mostly they will hallucinate. For example, today I ran into an issue with file uploads. It suggested me `async_consume_uploaded_entries` which doesn't even exist.
I'm pretty good at getting LLMs to write well-tested, production-ready code. I think it's a matter of knowing the right tools and techniques to use and steering the project in the right direction. Type-checking, linting, and a solid test suite go a very long way. It would be a nightmare to work on any project without these.
It could be interesting to take on a consulting project. I haven't done any contract work for many years but I'm curious to see if I could provide some value. Let me know if you need help with making a project more maintainable: refactoring, linters, writing tests, setting up CI/CD pipelines, etc.
In my experience vibe coding is useful at the very beginning of a project (especially if the tooling selected does not have a boiler late generation) and at the very end when a lot of the work is refactoring.
YMMV but I’d rather build the MVP without much AI but then clean it up using it.
I've done a fair amount of vibe coding cleanup, ironically using a fair about of LLMs, a lot of leadership are under the false impression that more code means better product, their ignorance is my gain.
A while ago, I was having an intense and heated argument with a good friend in the Finance sector about whether AI would replace jobs. I informed him that AI can only do something repeatable, "already solved problems", or what I call "shit kicking work". His response was something to the effect that I was underestimating how many people's jobs were _entirely_ shit kicking work.
To be fair to him, my partner who works in Healthcare has the same concern, and for quite precisely the same reason: if the kind of work normally done by juniors who are training/building their skills is done by machines instead, where do the next generation of seniors come from?
My response to both was that I was confident the market would fix this problem itself - people will not pay for garbage. There is a reason books are still printed by established publishers. Why buy a book when you can just print a book on printer paper yourself? Because reading a book on printer paper sucks.
I cannot imagine that machines will ever replace any work where there is any meaningful threshold for "correct". I am so intrigued to see how this plays out across the broader economy.
> if the kind of work normally done by juniors who are training/building their skills is done by machines instead, where do the next generation of seniors come from?
AWS CEO had roughly the same thought. Senior devs may skyrocket in price if juniors cannot progress to senior skillsets. Those that stop hiring juniors will have a rude awakening when they need more capable software devs in a few years, and all senior roles are now skyrocketing in price. Hire some capable juniors today to train up.
>I cannot imagine that machines will ever replace any work where there is any meaningful threshold for "correct".
For most of human history calculations were performed by humans. Entire banking systems were 100% dependent on humans, with some helpful tools, performing accurate calculations. The idea of not performing that work with machines is laughable now. Machines have replaced humans, especially when correctness matters.
Humans are also remarkably bad at being correct and most jobs have a very low impact. I think your perspective is skewed towards the job you are doing, which is in no way representative of most office work, which is mostly tedious, low impact and low stakes.
I feel like there should be a term that's like "MVP," but instead of a "minimum viable," it's a FULL FEATURE SET but just super sloppy and not really usable for production.
Just wanted to apologize for the shallow dismissal and the snark. This is going to generate cash flows so the associated activities are totally legit and not parasitic and a waste of oxygen. My gut reaction was not civilized.
What I've been witnessing in the recent time is that people who have no coding experience but great ideas, get into coding and due to the cheap and fast way of generating this code, have no issues with sharing it.
Other people who have more or a lot of experience with coding, help them and everybody profits in the end.
I understand that it becomes a problem with some businesses but others may profit too.
Insufficient context is definitely a major hurdle for LLMs when coding, but I think an even bigger hurdle is their inability to synthesize ideas and to resolve logical conflicts.
They don't seem to have a 'cohesive worldview'; additional context can easily sway them from one conclusion to the opposite conclusion. A large part of coding is about decision-making and prioritization; it's difficult to perform well at either of these tasks unless your worldview is internally consistent.
"vibe coding" is 20% initial prompting, and 80% doing exactly this (with more prompting). At some point we'll have to recognize that there are good and bad coders, and good and bad vibe coders.
Company hires a bunch of young MBAs from prestigious universities who don't know how to code; pay them large salaries to produce a massive pile of junk which doesn't work. Pay some engineer with 10+ years of experience to be a 'code janitor' to clean up the mess to actually make it work.
Quite dystopian considering that the experienced engineer could probably build the whole thing in 1/10th of the time from scratch.
This would align with the trend of companies imposing an increasing number of arbitrary and counter-productive constraints on engineers whilst simultaneously expecting them to be more productive.
From the jump, even without the emdashes, it was crystal clear that this post was written by Claude. I'm sure the OP put their own ideas into the prompt, provided some sources, etc. But reading some of these phrases provoked a pretty visceral sense that I'm just reading an LLM's output:
"The harsh reality" "he perfectly captured" "architectural decisions that make senior engineers weep" "fundamental issue"
It makes me wonder whether a whole class of writing is going to be deprecated because the cadence is just too similar to LLM outputs.
I've made heavy use of emdashes my whole life. It feels like I have to eliminate them now :(
Fight it — otherwise the terrorists win.
Don't let people's prejudice dictate your actions. If you like them, use them!
Surround them with spaces. LLMs don't do that.
get ready for vibe-writing cleanup as a service...
I'm sharpening my biro even as I type ...
It's a bit strange that Karpathy's "vibe coding" ever gained traction as a concept, although perhaps only among those without enough experience to know better.
As I understand it, what Karpathy was referring to as "vibe coding" was some sort of flow state "just talk to the AI, never look back" thing. Don't look at the generated code, just feel the AGI vibes ...
It sounds absolutely horrific if you care even the tiniest bit about the quality of what you are building! Good for laughs and "AGI is here!" Twitter posts, maybe for home projects and throwaway scripts, but as a way of developing serious software ?!!!
I think part of the reason this has taken off (other than the cool sounding name) is because it came from Karpathy. The same idea from anyone less well known would have probably been shot down.
I've seen junior developers (and even not so junior), pre-AI, code in this kind of way - copy some code from someplace and just hack it until it works. Got a nasty core dump bug? - just reorder your source code until it goes away. At minimum in a corporate environment this way or working would get you talked to, if not put on a performance plan or worse!
For many non-technical people, their relationships with software engineers were producing horrific results. Vibe coding is an indictment of what we’ve been delivering. That a vibe-coded disaster is in any way desirable reflects poorly on us. The branding by Karpathy is cute but irrelevant to its success.
I know people running vibe coded startups. The software quality is garbage. But it does what they want. And that’s all they care about for now. Until a time when software quality impacts their business more than losing control does, they’ll keep vibe coding, rather than hiring a software engineer who bastardises their ideas.
A garbage version of the thing you want is better than a perfect version of something you don’t want.
Using AI doesn't necessitate "vibe coding" - there are smart ways to use AI, where you are managing and structuring the process, as well "vibe coding".
I guess the problem is that AI now allows non-programmers to program. It would be a bit like giving everyone a scalpel and they now either consider themselves to be surgeons, or give it a go regardless since now they can.
I'm not sure where you are getting software engineers that are "bastardising" your ideas?! You may want to look elsewhere, or pay for someone better !
Usually the problem is they are too cheap to pay good engineers, so they can only hire bad ones...
I still maintain that the original tweet about it was a joke, or at least not a suggestion for doing real work but just a reflection on the freedom of yolo mode coding. It wasn't meant to be instructions.
I'm not sure.. I kind of remembered it that way too, although perhaps not so much as a joke but just a throwaway tweet of what he was up so - experimenting with AI and having fun.
However, I just searched up his tweet, and now I'm not so sure - he seemed to be advocating it as a new way of coding.
https://x.com/karpathy/status/1886192184808149383
Like it or not vibe coding is here to stay, I too don't agree with the concept but have told people in my org that I've 'vibe coded' this or 'vibe coded' that. To us it just means we used AI to write most of the code.
I would never have it be put into production without any type of review though, it's more for "I vibe coded this cool app, take a look, maybe this can be something bigger..."
I feel at this point ‘vibe coding’ is just a disparaging phrase of any AI coding assistance.
As always people can create both good and bad code using the tools at their disposal but right now there’s a lot of upvotes to be had online by simply posting ‘lol vibe coding so dumb!’. It’s tiring at this point.
Yes definitely, but I'm pretty sure that he was just saying vibe coding is POSSIBLE and a fun thing to try, to see how far you can get (which is true, it can do some surprising things)
Not that companies should literally try to "vibe code" production software
Two publishers and three authors fail to understand what “vibe coding” means - https://simonwillison.net/2025/May/1/not-vibe-coding/
( I think Karpathy addressed what he meant in this video, though I forget the details: Software Is Changing (Again) https://www.youtube.com/watch?v=LCEmiRjPEtQ )
The phrase got totally taken out of context, probably because it's what people WANTED to believe. They wanted to believe that the hard thing was now easy, and they could make/save a lot of money that way
> It's a bit strange that Karpathy's "vibe coding" ever gained traction as a concept
This point in history is not characterized by any real sort of seriousness about...anything, really.
Alternatively, it is the same sort of pleasant fiction that is being fed to CEOs about their workforce being able to be replaced Real Soon.
I suspect that he, as an insider is able to prompt and configure so that he gets good usable results every time, and when he describes that, it sounds so easy and obviously you should do it too.
I have been taking on "rescue" projects for a while through my business. Previously, the barely-functioning code was usually being generated via outsourcing agencies but it seems the new source is now going to be LLMs.
I imagine it will be the same set of issues really. Just a different way of cost cutting measures. There can be good reasons to take shortcuts but, in my experience, the problems start when you're not mindful that there's a price to pay for taking these shortcuts. Whether it comes from managers, employees or outsourced personnel, it's the same result.
I haven't thought about advertising it as a separate type of service(for vibe coded platforms) yet but maybe I should. The Australian software market is small so haven't been hearing much about the results of those experiments.
One of the issues with vibe coding vs. outsourcing agencies is the sheer volume of code it can produce in a short amount of time.
I vibe-coded a simple helper script. If I wrote it myself it would have been 1/3rd the lines, not covered most edge cases (some of which were completely irrelevant, some of which actually useful), and it would have taken me way longer than just checking if the vibe-coded code works (this was the "either it works or it doesn't" kind of task, not something where subtle errors could reasonably be introduced).
I skimmed the code and removed the line that deletes temp files to reduce the risk that it accidentally wipes my home dir and ran it. As I was trying to work with the data deeper, I noticed missing temp files, and realized that there were two other temp file deletion lines that I missed.
It's simply too much code for a human to reasonably read, but the speed benefits are real.
(My plan for the future is not reading the code more carefully, it's putting it in a sandbox and letting the AI play.)
I like to keep a personal recipe book of prompt modifiers. For bash scripting I often write my prompt and then copy-paste the following to prompt:
``` When making edits to the script, ensure the script remains
- Idempotent - Functional after a fresh install of a virtual machine
Additionally, keep things stupid simple and avoid:
- Unnecessary error checks - Defining colors and custom logging functions - Bells and wistles - Backups - Branching Paths - Script Arguments ```
I find it helps cull back the LLM 's overenthusiasm for abstractions.
There's a BIG difference, at least with tools like Claude Code: plan mode. I'm now using Claude Code a lot at at work, and the first thing I do is enter plan mode where I can have a "conversation" asking it explain how it would implement. Just a few back/forth later I end up refining its plan to conform to good (or what I think is "good") design, after which it will tell me exactly what it is going to do (with code diffs), which I sign off on (again, potentially after a few iterations). It's only then that it generates the code.
By contrast, on one project many years ago I was reviewing the code generated by an overseas team, and I couldn't make head or tail of it, it was an absolute tangled mess that was impossible to fix.
Probably a good idea to at least add some vibe-coding terms to your website for SEO.
Might be a good idea, though word of mouth and networking is how I get work and SEO has stopped being a useful avenue for a project pipeline quite a while back.
I was thinking of doing something like that, but how does it work for the company in the end? If they vibe coded their project and now have shitty code full of bugs, you come in, fix the bugs and organize the code better and that's it? How do they continue to maintain it if they didn't have the knowledge to set it up in the first place?
They would try to hire and/or build the team they need to move forward, if they have the money.
Knowledge is usually not the problem, it is the shortcuts(or short-term decisions) that got them to a place where they can no longer operate the platform they need to survive. Often this is the cause of prioritizing velocity over anything and everything else. This is choosing the do it fast and do it cheap options with the assumption that it is always correct. That assumption of course is almost never true.
By the way, most cases where I've seen this there's usually an investor involved and they need to impress them.
The pattern I've seen repeatedly in real life is that a company does something they don't expect to be important and impactful, cutting every corner they possibly can to shovel out something that minimally meets the requirements. And then that software surprises everyone by actually being wildly successful, and now they have to support it and modify it to a state where they can build upon it. Which might be hard if the product is an unholy mess made by people who knew little of what they were doing and cared about it exactly as much as they got paid for it (that is, not much).
And cutting every corner to get the cheapest possible product out might not have even been the wrong call! Presumably most things made this way fare just as well as they were expected to and die quickly after being made, not spending scarce resources on making them better was probably the right thing to do.
It just sucks when you end up having to maintain strict backwards compatibility to something that was made in two weeks by one guy who took every shortcut on the way to duct-tape together something that technically does what was asked for. (Yes I'm thinking of you, javascript.)
This. Based on what I have seen so far in my company so very anecdotal.
Assuming they know and/or have the capability to do it, between the cost of correcting the issue and push to use AI into everything meaning raising any issue now, politically speaking, is a direct criticism of someone major VP pet projects. I personally simply started to log stuff.
The first thing they need to do first is acknowledge there is a problem to begin with. I am so glad I am not an actual programmer though. It would drive me nuts.
There's definitely a lot of politics involved in such projects. So I've learned that a break is necessary between major engagements to decrease the risk of burnout.
The environment that creates "rescue" projects is usually not one where long term thinking is prevalent. It would be a pet project of someone who's still there or someone who left but where the ultimate decision maker is still there. Either case, you need to walk on egg-shells and be mindful that dealing with the technology problems is the easiest part of such an engagement. I'm not ashamed to admit that I've learned that lesson the hard way.
I was about to ask whether engaging with this kind of people is even worth it. I've seen enough of Jamie Dimon-like power trips to stay away.
I think if they are interested on fixing it it's because the project provide business value, so then now it's worth it to build the software development team or make a contract with software development agency
I suppose a lot of the same kinds of skills will be required for both outsourcing, and LLM driven development.
That is, the "engineering" side of things (requirements gathering, communication, stakeholder management, defining specifications, testing, documentation, and generally managing chaos)
> Startups save weeks getting to MVP with Vibe Coding, then spend comparable time and budget on cleanup. But that’s still faster than traditional development.
That's the core of situation as described in the article. I wonder how true that is, that it's faster overall than having developers build the MVP.
From what I've seen, I think developers can build just as fast, especially with AI assistance. They may not want to though, knowing full well the MVP/prototype will go directly into production.
Better to take some time to have a decent architecture early on. Product and management probably see that as a waste of time.
On the other hand, vibe coding allows the product team to make exactly what they want without having to explain it to developers. That's the real draw to this, basically a much better figma.
Perhaps there is a market for a product oriented vibe coding tool, that doesn't pretend to make code, but gives developers much better specifications while allowing the product and business side better input in the process.
>> Startups save weeks getting to MVP with Vibe Coding, then spend comparable time and budget on cleanup. But that’s still faster than traditional development.
> That's the core of situation as described in the article. I wonder how true that is, that it's faster overall than having developers build the MVP.
In a startup it's often very important to show traction, and thus decreasing time to market can be hugely beneficial, even if it costs you more time overall.
The same reason people can rationally take on technical debt in general.
I'm skeptical "get to market as fast as possible, damn the consequences" is as relevant today as it was 10 years ago.
People have to be careful not to miss their window trying to be perfect, but first and broken isn't a clear winner over second and working anymore.
I agree with you. There is an advantage to being first on market, but the "damn the consequences" part is very much VC-fueled. Start-ups going to market (and failing) as fast as possible is very much in the financial interest of the VC, but generally good neither the startup nor its employees nor the ecosystem.
I've lived through several semi-disastrous VC-pushed early product launches, and have seen some being sufficiently bad to entirely destroy a product, despite it being extremely useful.
There is a balance between getting to market as fast as possible and avoiding an architecture that will immediately make it hard to iterate after MVP.
The problem is that a lot of engineers don’t know how to not over engineer and waste time. And product/sales usually don’t know how to strike the balance.
An MVP? Definitely not. A prototype maybe, but...
For building a prototype, unless you have the discipline to not put the prototype into production and your organization has similar discipline, I wouldn't recommend vibe coding. We all know how hard it can be to convince management that he amazing thing they're using right this moment needs to be scrapped and rewritten because the insides are garbage.
No-code tools are better suited and safer to use in that respect.
This is true, except that in my experience, senior management seems to have a real hard time, differentiating between “ship-quality, but sparse, MVP,” and “lash-up, crap-quality prototype.”
> knowing full well the MVP/prototype will go directly into production.
If they didn’t think that was happening already, they were fooling themselves.
I remember a quote on here, where they said something along the lines of “If your MVP code doesn’t make you physically sick, you’re spending too much time on code quality.” MVPs seem to inevitably become the backbone of the company’s future.
I guess the service could be more accurately described as “C-Suite Cleanup As A Service,” but no one would hire them, then.
Twitter started as a in Ruby on Rails webapp and everytime Justin Bieber tweeted the whole Twitter would go down and the fail-whale would appear.
But they grew, and one day could afford hiring professionals to rewrite it from scratch on a more scalable and robust stack.
I wonder if vibe coding is a bit like DIY plumbing. You can do it yourself a bit and then later when water starts gushing all over your bathroom you hire an emergency plumber at a high fee.
You learn a little more for next time.
You could say that. Professional plumbers often love to use tools built to make the lives of DIY plumbers easier too though. The difference is they know when and when not to do so.
It's worse. With plumbing, at least you can see what you are doing. Vibe code? One day, it just breaks and you don't know why.
Unless, of course, there is a better AI at a future point, which is able to easily spot and correct the more underlying problems.
Sure but in the software field a few years is a lifetime.
It's taken 8 years to go from introduction of the Transformer (attention paper) to today's LLMs, so I wouldn't be holding your breath waiting for something significantly different or more capable to replace it. It may well take AGI to replace a human "vibe coded mess" fixer-upper.
The technical debt you're building up by vibe coding your product may well become a boat anchor well before some product you are fantasizing about materializes to bail you out.
If you've somehow vibe coded an MVP good enough to push out to customers, and achieved some degree of success with it, then what you need to keep going is momentum - to be responsive to customer feedback, add new features, etc. If you've built such a poorly designed and flaky MVP that you can't rapidly iterate on it, then that is probably not going to go well.
> It's taken 8 years to go from introduction of the Transformer (attention paper) to today's LLMs
I feel this position severely discounts the acceleration that is going on right now and our inherently limited abilities. Humans are not going to ever be significantly better at coding than they are today, and we can literally watch LLMs improve on it, by the month.
We'll see. I think software development is one of the more challenging things that humans are capable of, and the challenge isn't because of something that computers have any advantage with due to computation speed or memory (unlike, say, chess).
I wouldn't expect to see a human level AI software developer (not just "coder" - the easiest part of the job) until we have human level AGI. Run-time compute and agents seem to be responsible for most of the recent advances in capability - good ways to squeeze the most out of the underlying LLM paradigm, but not the path to AGI.
We'll get there (AGI) one day, maybe in next 10-20 years, but in meantime if you want a vibe coded pile of sphaghetti to be cleaned up, it seems like it's going to be a job for a human.
That probably depends on whether vibe coders do learn from the experience. I guess we'll see.
It's an apt analogy. It's like the realtor is under pressure to sell the house so does a quick and dirty DIY plumbing. Then when the house is sold you hire a real plumber to fix it right, hopefully before the gushing disaster.
Here, founders demo something that attracts the investors' or customers' attention - then they can clean it up later.
And on youtube, you can find many expert DIYer plumbers who go to greater lengths than pros.
Well, a pro is usually under time constraints.
If you do something for a living, you have to work faster than if you are doing it as a hobby for fun.
Janitor Engineers [0] are already a thing? Damn. Also, all links in this article starting from the "Why AI code fails at scale" section are dead for some reason, even though it was written only 5 days ago. That raises some questions...
EDIT: Not trying to offend anyone with this [0], I've actually had the same half-joking retirement plan since the dawn of vibe coding, to become an "all-organic-code" consultant who untangles and cleans up AI-generated mess.
I think specialising in brownfield has always been a thing. If anything, it's greenfield that's the rarity.
I’ve always found the pioneer, settler, town planner model to be a great way of thinking about this. Successful, long-term projects or organizations eventually can use all 3 types.
Maybe vibe coding replaces some pioneering work, but that still leaves a lot for settlers to do.
(I admit I’m generally in the settler category)
https://blog.gardeviance.org/2015/03/on-pioneers-settlers-to...
Thinking of retired COBOL programmers that still have a market...
There's still a market, but when I looked into COBOL work out of curiosity (I've never been anywhere near it in real life), the salaries I found were surprisingly low, compared with common modern languages.
Perhaps the old adage "it's getting hard to find X employees [at the price we are willing to pay]" applies.
That surprised me because I've seen articles and heard podcasts for years where they've said COBOL programmers are well paid due to scarcity, though never quoting amounts.
I wonder if COBOL projects these days, being brownfield by nature, are less political and stressful than brownfield web development projects.
Vibe Coding is accelerating the death of documentation and architectural clarity. Companies are measuring success by tokens generated and time-to-prototype, ignoring the massive, hidden cost of cleanup/maintenance.
The real skill is now cleanup, not generation.
The real skill is guiding generation carefully so the generated software isn’t crap. Some people here see Claude code and think it’s state of the art, whereas for best results you need a much more involved process.
It isn’t that different from any other form of engineering, really. Minimize cost, fulfill requirements; smarts-deficient folks won’t put maintainability in their spec and will get exactly what they asked for.
I bought into that idea a month or two ago, that more control and detailed instructions would deliver a clean result. That just led me down a rabbit hole of endless prompt re-runs and optimization loops. Many time I thought I had the final, perfect prompt, the next iteration slightly worsened the output. And sometimes the output was the same.
The last 20-30% of precision is brutal. The time and tokens we burn trying to perfect a prompt is simply not an optimal use of engineering hours. The problem is simple: Companies prioritize profit over the optimal solution, and the initial sales pitch was about replacement then it changed now its all about speed. I'm not making a case against AI or LLMs; I'm saying the current workflow, a path of least resistance means we are inevitably progressing toward more technical debt and cleanup at our hands.
Let me know when aerospace engineers are letting an AI build their planes for them.
https://uwaterloo.ca/news/math-innovation/pioneering-future-...
How is it the death of documentation?
You can start off just with documentation and then in the process check if the code is still in line with the documentation.
You can also generate documentation from the code. Then check yourself, if it fits.
Vibe code has a lot in common with legacy code.
Low confidence to change it, low internal and external quality.
Also some differences: low age-to-quantity ratio, schedule pressure, inflated expectations.
It's most cost-effective to shift errors from runtime to compile time and from compile time to design time.
Unfortunately, AI rushes people to runtime as fast as possible.
Legacy code isn't necessarily bad - it may just be complex, or poorly documented, having accumulated a lot of production fixes over the years that were never properly documented (if if the original project was - typically not).
Your legacy code products may be happily running without problems, due to all those production issues (incl. new requirements) that were identified and fixed over the years, with the problem only coming when there is a need to change it, especially when there is no-one left familiar with the codebase, maybe not even with the language/tools used to build it.
This may be interesting to you
"Vibe code is legacy code (val.town)" https://news.ycombinator.com/item?id=44739556
Thanks pmxi. I read that post when it trended, and it got me thinking. I then wrote a post that tries to give a framework for deciding whether to take a gig fixing vibe code.
https://www.slater.dev/about-that-gig-fixing-vibe-code-slop/
You can use vibe coding in strongly type languages?
I agree that vibed code can often be treated like other legacy code. However is it true that people are reluctant to change vibe code?
> strongly typed languages?
Depends on training data. It's not great at rust but it can chug along in small examples. I do suspect strongly typed languages are more suited to AI if it has the opportunity to learn them properly. The movement recently has been generalization, but i personally think if we want to reach further in AI coding, we need models with language and domain specialization.
I imagine a AI agent trained to parse LLVM and feed itself static analysis output, could reach new heights of code understanding for Rust for example.
> people are reluctant to change vibe code?
I think people are reluctant to change existing code in general. Its one thing for a personal project, but for a collaborative codebase, it's a large investment of energy to parse out a unfamiliar part of the system. "The original developer made sure this works, and it passes all tests, so i shouldn't poke it too much without knowing the system as well".
I think most often people have some vibe coded stuff that kind of does what they want but they don't really understand what it all is and how it works, or any confidence it can be made into something useful, so rather than spending time cleaning up AI code they just use it to grasp the idea and write it themselves. Whether any time is saved by going through this process with the AI seems doubtful to me. Sitting down with pen and paper and thinking through things would probably be more useful.
Our company has been doing emergency fixes (system that are down, costing companies significant money and they cannot fix) for decades. We have been seeing a significant uptick in occurrences the past few years.
That raises the question if LLM-generated code is going out of fashion in general. The article seems to assume it will always exist and always need clean-up. But what if it's not worth it and instead you should (mainly) return to the world where humans write code? Simply because salary < LLM-credits + cleanup costs.
Using a LLM to generate code, that you then check and use is a bit different from vibe coding, where no one looks at the code anymore.
But both is here to stay.
Vibe coding with today's AIs is definitely going out of fashion. That's because we will have much better AIs tomorrow anyway.
It might turn out to be unsustainably expensive to vibe code all day. That it was so subsidized might have been the irrational exuberance, which arguably leaves a bait-and-switch hangover.
But the general idea of compressing every code example in existence into a predictive autocompleter and generative assistant will never go away.
It would be like coding without syntax highlighting, by choice. Sure, people did it when they had to, but not anymore. You could, but why?
Do I really feel better about myself for writing a slight variation on depth-first search by hand for the 80th time? Not really?
Would be interesting to see an in depth breakdown on a project that has went through the vibe code to cleanup pipeline in full. Or even just a 'heavy LLM usage' to 'cleanup needed' process. So, if the commits were tagged as LLM vs human written similar to how it's done for Aider[0]: At which point does the LLM capability start to drop off a cliff, which parts of the code needed the most drastic refactors shortly after?
[0]: https://aider.chat/HISTORY.html
Interesting idea for some kind of blog post:
* come up with requirements for a non-obvious system
* try to vibe-code it
* clean it up manually
* add detailed description and comparisons of before and after; especially, was it faster or slower than just writing everything manually in the first place?
> was it faster or slower than just writing everything manually in the first place?
My suspicion is that for any experienced dev this is slower every time
It is only faster when the person doing the work probably could not have built the thing themselves in the first place
That's also my intuition, but I would like to test and measure it against a real and non-obvious system use case; some day I will and will write about it :)
This mirrors exactly what we learned from outsourcing over the past two decades. The successful teams weren’t those with the best offshore developers - they were the ones who mastered writing unambiguous specifications.
AI coding has the same bottleneck: specification quality. The difference is that with outsourcing, poor specs meant waiting weeks for the wrong thing. With AI, poor specs mean iterating indefinitely on the wrong thing.
The irony is that AI is excellent at helping refine specifications - identifying ambiguities, expanding requirements, removing assumptions. The specification effectively IS the code, just in human language instead of syntax.
Teams that struggled with distributed development are repeating the same mistakes with AI. Those who learned specification discipline are thriving because they understand that clear requirements determine quality output, regardless of the implementer.
Makes me wonder if leadership will bounce back from vibe coding faster than it did from outsourcing?
I wasn't around then but colleagues told me it took years for leadership to understand what's happening and to turn the ship around.
And the ship is only turned around for a brief period of time because the next gen mbas will restart the outsourcing cycle. The allure of replacing your most expensive employees at one third the cost regardless of quality impacts is just too tempting to pass up.
As a freelance developer, I've already had one job that was essentially vibe coding cleanup - though I ended up recommending that I just rewrite the whole codebase (I reused one tiny piece). It's definitely a new world.
Yes, worked on one too, which I pointed out to the client, is not feasible at all
And, on another, where the client seems to have tried to make it work through an LLM, but did not work.
I've seen some new vibe coding websites that now come with shipping support by a dev as part of the package like https://sparkedby.ai
In the long term, software development is about theory building more than coding. And these are theories that need wrestle with wholly imperfect external systems, as well as business departments whose desires and needs are in conflict with each other and with themselves from day to day.
LLMs are still too sycophantic. The ideal agent needs to say no increasingly as time moves on, explaining why new requirements would conflict with existing commitments, and grunt awkwardly and emit enough noxious fumes so that business people only come forward with their most pressing needs rather than wavering whims.
I wonder how many of these vibe coding build apps will grow to massive apps/be really popular (I imagine a lot of them will)... and what kind of security vulns we'll see everywhere because of how it was initally built...
i can only imagine that services like described in this article will become a very common part of getting proof of concepts built with AI into production.....
The infamous "tea dating app leak" was (supposedly) organic home grown human slop, yet did this much damage.... We may see distrust for new apps and websites rise in few years after more people get burnt by things like this.
https://www.npr.org/2025/08/02/nx-s1-5483886/tea-app-breach-...
In Spanish we have the saying: "Lo barato sale caro". So in order to save, you turn to "AI", and then you immediately need to turn to a real developer or a development team. If I were in this business, I would charge hefty amounts too, because I can imagine the type of disaster that will have to deal with.
this article doesn't add much; it's a thin advertorial for their services. It also just seems like typical maintenance programming, which has existed for about 1 day less than the entire time we've been writing software. I guess even this most unattractive of all programming work is also looking for a little AI sauce to spice up the offerring, and justify increased rates (maintenance work: $100/hr; vibe-coding cleanup: $200/hr)
I use Elixir in production. So, it's already a pretty unique language with very low marketshare in the first place and not many developers are attracted to it because of that and the opportunities. And rarely, I do take on some existing codebases that would smell of code rot from vibe coding. Elixir is one of those languages where it's actually hard to make something look complex. But, vibe coders somehow manage to pull it off. There are usually all these modules all over the place - running Genservers instead of just using something simplified, lot of Javascript like patterns all over the place.
And so, I dug deeper, I tried Claude, GPT-5 and Gemini. While each have their own merit, they all seem to be flawed when it comes to keeping things simple. Having said that, there are a lot of times I'm stuck in these codebases and the AI knows exactly what's happening if you give it the right context (within VS Code). So, definitely you can just setup a small shop to "De-vibe" coding with AI. Ironically.
Have you instructed the agent to produce „simple“ solutions when possible?
Yes, the quality of output varies greatly depending on the model. Mostly they will hallucinate. For example, today I ran into an issue with file uploads. It suggested me `async_consume_uploaded_entries` which doesn't even exist.
I'm pretty good at getting LLMs to write well-tested, production-ready code. I think it's a matter of knowing the right tools and techniques to use and steering the project in the right direction. Type-checking, linting, and a solid test suite go a very long way. It would be a nightmare to work on any project without these.
It could be interesting to take on a consulting project. I haven't done any contract work for many years but I'm curious to see if I could provide some value. Let me know if you need help with making a project more maintainable: refactoring, linters, writing tests, setting up CI/CD pipelines, etc.
Human legacy code turns into machine-generated legacy code; the nature of work remains, more or less, the same
In my experience vibe coding is useful at the very beginning of a project (especially if the tooling selected does not have a boiler late generation) and at the very end when a lot of the work is refactoring.
YMMV but I’d rather build the MVP without much AI but then clean it up using it.
Our 'vibe coding' tools are still getting better very quickly. And you would expect that, even if core LLM progress stopped.
So I suspect we will get AI-assisted vibe coding cleanup very quickly.
Our (new) AIs will help us solve problems that we wouldn't have without our (old) AIs.
Nvidia likes this future.
Just a few days ago, I had to "clean up" a vibe-coded prototype:
1) generate API tests using AI
2) refactor the app manually
3) make sure the tests passed
Took me a few hours or so. The app was pretty small, though.
The question is, did you use llm during this process or not?
Fixing vibe coding with yet another vibe coding should be the norm I guess.
I've done a fair amount of vibe coding cleanup, ironically using a fair about of LLMs, a lot of leadership are under the false impression that more code means better product, their ignorance is my gain.
Need an MCP server that can do this.
Wouldn't that be using vibe coding to fix vibe coding?
And isn't the expected timeframe hours, days or weeks rather than milliseconds or seconds like people expect with MCP?
10x the productivity measured by lines of code written, but 1/100th the quality measured by pain in the ass to clean up.
While this was inevitable, I must say I’m a little surprised it has become a thing this _quickly_.
A while ago, I was having an intense and heated argument with a good friend in the Finance sector about whether AI would replace jobs. I informed him that AI can only do something repeatable, "already solved problems", or what I call "shit kicking work". His response was something to the effect that I was underestimating how many people's jobs were _entirely_ shit kicking work.
To be fair to him, my partner who works in Healthcare has the same concern, and for quite precisely the same reason: if the kind of work normally done by juniors who are training/building their skills is done by machines instead, where do the next generation of seniors come from?
My response to both was that I was confident the market would fix this problem itself - people will not pay for garbage. There is a reason books are still printed by established publishers. Why buy a book when you can just print a book on printer paper yourself? Because reading a book on printer paper sucks.
I cannot imagine that machines will ever replace any work where there is any meaningful threshold for "correct". I am so intrigued to see how this plays out across the broader economy.
> if the kind of work normally done by juniors who are training/building their skills is done by machines instead, where do the next generation of seniors come from?
AWS CEO had roughly the same thought. Senior devs may skyrocket in price if juniors cannot progress to senior skillsets. Those that stop hiring juniors will have a rude awakening when they need more capable software devs in a few years, and all senior roles are now skyrocketing in price. Hire some capable juniors today to train up.
https://www.theregister.com/2025/08/21/aws_ceo_entry_level_j...
>My response to both was that I was confident the market would fix this problem itself
Based on..?
>I cannot imagine that machines will ever replace any work where there is any meaningful threshold for "correct".
Autopilot?
Tesla Autopilot, Airplane Autopilot or Falcon9 Autopilot?
(In my opinion: Somewhat, almost and complete.)
> people will not pay for garbage
exactly, the usage of LLMs will only grow as they quickly get better than all the garbage code slop humans write
>I cannot imagine that machines will ever replace any work where there is any meaningful threshold for "correct".
For most of human history calculations were performed by humans. Entire banking systems were 100% dependent on humans, with some helpful tools, performing accurate calculations. The idea of not performing that work with machines is laughable now. Machines have replaced humans, especially when correctness matters.
Humans are also remarkably bad at being correct and most jobs have a very low impact. I think your perspective is skewed towards the job you are doing, which is in no way representative of most office work, which is mostly tedious, low impact and low stakes.
Just vibe clean it when GPT-6 comes out.
I feel like there should be a term that's like "MVP," but instead of a "minimum viable," it's a FULL FEATURE SET but just super sloppy and not really usable for production.
FSV = full slop version
Talk about sloppy seconds
Where are the apps created with vibe coding? I haven't seen any so far...
Many of the links from this article don’t exist. Is it AI generated slop?
please try again, we had an issue with the cache and traffic was being routed to a draft version instead of the final article. My apologies
I just take some kitchen paper and one of these small thin plastic bags to clean up after my own dog's shit. No need to pay for a service.
True, no need to pay for it if you know how to build that same thing from scratch
Just wanted to apologize for the shallow dismissal and the snark. This is going to generate cash flows so the associated activities are totally legit and not parasitic and a waste of oxygen. My gut reaction was not civilized.
Most of the times it's easier to refactor whatever is in production that get someone that can write an accurate especification.
What I've been witnessing in the recent time is that people who have no coding experience but great ideas, get into coding and due to the cheap and fast way of generating this code, have no issues with sharing it.
Other people who have more or a lot of experience with coding, help them and everybody profits in the end.
I understand that it becomes a problem with some businesses but others may profit too.
It's not all bad.
Insufficient context is definitely a major hurdle for LLMs when coding, but I think an even bigger hurdle is their inability to synthesize ideas and to resolve logical conflicts.
They don't seem to have a 'cohesive worldview'; additional context can easily sway them from one conclusion to the opposite conclusion. A large part of coding is about decision-making and prioritization; it's difficult to perform well at either of these tasks unless your worldview is internally consistent.
"vibe coding" is 20% initial prompting, and 80% doing exactly this (with more prompting). At some point we'll have to recognize that there are good and bad coders, and good and bad vibe coders.
Where reality seems to be heading:
Company hires a bunch of young MBAs from prestigious universities who don't know how to code; pay them large salaries to produce a massive pile of junk which doesn't work. Pay some engineer with 10+ years of experience to be a 'code janitor' to clean up the mess to actually make it work.
Quite dystopian considering that the experienced engineer could probably build the whole thing in 1/10th of the time from scratch.
This would align with the trend of companies imposing an increasing number of arbitrary and counter-productive constraints on engineers whilst simultaneously expecting them to be more productive.
Cool sister article on their site, the other side, using AI to cleanup AI slop:
> How Senior Engineers Clean Up Code and Scale Products with AI
> Partnering with us means investing in quality, not just speed. We leverage AI to accelerate development and testing,
https://donado.co/en/articles/2025-08-02-prototype-to-mvp/