Oh yes, tech debt with loan shark interest rates!
Give it some time and there will be waves of people and businesses like this.
Already is a business, there's been posts of exactly this being advertised
“Hit a brick wall while vibe coding? Can’t debug because the AI only generates, like 90% the right code, and now you don’t have the skills in-house anymore to understand what it did? We can clean up that mess for you - and it will only cost you 3 times as much as if a proper developer had made it in the first place!”
I’d say, I should really pitch that business idea to Dragons’ Den!
And just imagine the attack vector: sure, we can fix any bugs! Just send us all your credentials including GitHub, and credit card number please
Only 3 times? That's a bargain. I'd be charging 5x.
5x as much, but with a 50% discount if they still have their original prompts. Easily worth the discount if I don't have to figure out what the hell the AI slop code is trying to achieve
I wouldn't dig through the code. I'd throw it out and start over. Of course I'd say that it's "debugging" their original code, but sometimes, the correct way to debug is with a bulldozer.
after you spend weeks trying to explain to them why defining requirements is important, since knowing beforehand what one wants to build tends to speed up development.
This is the way. Untangling 60k lines of AI generated code sounds like a nightmare.
Yeah there is a solid stream of business a few months down the road
UNFUCKERY SOLUTIONS
We fix your "vibe code". We fix it with fire.
“Has your AI convinced you it loves you and gaslighted you into firing your whole company? Call us now at 1-800-UNFUCKERY.”
I think I've recently seen something on Reddit about a BBC article talking about exactly this. https://www.bbc.com/news/articles/cyvm1dyp9v2o
I've been waiting for this.
I've kept saying in various comments that this was coming. This feels like the pebble before the landslide.
It begins with know-nothing hobbyists like this guy.
It ends with penny-pinching, know-nothing C-Suite scumbags who fired their competent technical staff in droves because they believed AI could do it just as well, if not better, faster, and for less money, only to discover that no, in fact it couldn't. So they have to figure out a way to craft a narrative so it doesn't look like it was their short-sighted stupidity that got them sunk neck deep in quicksand in desperate need for a fix to the problem they got themselves into.
Watch for it.
"We're doing you a favor offering you your old job back at half your original salary." — Some dipshit trying to save his own ass. The only appropriate response is 'Ten times the current market rate, or you can go crawling back to your ChatGPT.'
Memorize it. Have it loaded and ready to fire.
It's only a matter of time.
To be fair, this has been going on for years, the flavor is just changing. I watched 4 independant data warehouse projects come and go because the C suites wanted that flash. But no one was ever willing to roll up their sleeves and address data cleanliness and underlying processes. Before that, it was “smart” dashboards made in Spotfire or PowerBI or whatever, that look fancy, but needed dedicated techs to do anything with. Before that is was having everything web enabled. And so on. The difference I see with AI is the way someone untrained can create a hideous thing that almost looks okay on the surface, like Mr 50k lines of code above, but would take a dedicated team of 5 to essentially rewrite over a couple of years.
I honestly cannot imagine 50k lines of Python scaffolded with FastAPI for a personal project. Im so curious to see what that AI code is doing lol.
100% recreating the same functions / variables with slightly different names to accommodate whatever giant slop portion they could fit into a prompt, shitting out unnecessary defensive coding where it doesn't make any sense to do so, and patching workarounds to instead of repairing it's own broken logic over, and over.
I would be surprised if it wasn't an attempt to replace an existing database (built entirely out of Excel / VBA, obviously).
Why be D.R.Y. (don't repeat yourself) when you can be W.E.T. (write everthing twice)?
In the days before LLMs I built a Flask API for our fake baseball league. Basically we played "baseball" online using simulations, which generated a bunch of data (who pitched, who hit, play result, etc). It was being saved to Google Sheets, which isn't exactly easily queried. I wanted it programmatically accessible, so built something that would scrape the various Sheets "databases" regularly, put the data in a real SQL database (updating existing data as needed), and then serve it all back out via API (players, teams, schedules, play results, etc).
That took me about 10k LOC, and I was far from efficient (this was also done completely in Notepad++ with minimal linting, wooo!). For this guy to have over 50k LOC, it's either a wildly extensive API, or, more likely, every new feature he asked ChatGPT for was spat out as brand new functionality without a concern for the overall architecture, resulting in dozens or hundreds of single use functions that pass data around slightly differently.
LLMs are great at discrete chunks of code, maybe up to 500 LOC reliably. As for reading context, in my experience they're good with up to maybe ~5k LOC before they start forgetting everything and going off the rails, which seems to be what happened here.
On top of that, FastAPI is an API specific framework, so it would be even less code vs Flask (a general web application framework).
I've found it's mostly reinventing the wheel. I worked on a vibe coded project where it attempted to implement its own auto updater in 5000 lines of code. I replaced it with a standard library in less than 200
That would be wild if it was just importing FastAPI library, not using it, and writing its own request handler, router, validations, etc…
Here's a prompt to help you imagine it:
"Please write python version of hello world project. Expand to be 50k lines of code." :)
Yeah this phenomenon isn't new. It's the same story with different flavors. "C-suites tried to go ultra cheap, and now have to pay the piper when their application is crappy."
The current flavor is "AI." Previous flavors have been things like "offshoring."
Or my favorite flavor that I've been hired to fix up - offshored AI slop. It has the worst of both worlds - repeating functions with slight variations, massive blocks of code commented out or even worse, abandoned functions that aren't used but every time they generated new changes it evaluates and changes the unused function... # TODOs on functions basically admitting they don't know why it's causing some side effect but if they remove it (commenting out only, of course) then something else breaks.
Definitely not charging enough, but the guy doesn't want to put any more money in it because he just wants it to work "enough" until he can convince some investor to give him enough money to fully rebuild it.
Not that he would want to pay the next developer enough to fully rebuild an app, either, so I imagine the wheel will keep on turning ...
Hey now, powerBI can handle clean code and proper data models if you just have a competent engineer/analyst doing it- oh yeah nvm I get what you're saying now.
Even worse: It's not just a legacy codebase: it's a gods-forsaken mess of legacy code that nobody has ever comprehended. That's a worst-case nightmare scenario. And even better: if he ever tries to add features, it's probably going to undo all the human cleanup
Personally, I value my sanity too much to be in the same zip code
This. Can't wait for the AI bubble to burst, backfire, and take all the bootcamp devs and vibe coders down with it.
Give it more time, and there will be bussinesses entirely focused on cleaning up stuff like this.
I had the same thought. Now that I've gone the way of claude code, I'd say a good half of my tokens are spent having it refactor things. I actually have a README of prompts I'll ask it to reference as I've gone quasi atomic design on a NEXT JS app. I feel like I'm dealing with the most helpful autist ever.
My experience with using AI for coding things is that when it works, it's exceptionally useful, but when it doesn't, it's a complete waste of time.
There's very little in between.
If you know what you want, and roughly know how to do it, it's an amazing power multiplier, but I don't envy devs who'll have to fix the artificial spaghetti these vibe coders unleash upon the world.
Allowing people with little code experience to start something is one of the major upsides of vibe coding, might not be the best but it is enough to get the ball rolling for little investment.
But LLM's are not going anywhere the efficiency they can provide for the price is unmatched.
The problem with LLMs for non-programmers is like handing a graphing calculator to non-mathematicians.
You open up a whole new level of capabilities and make complex stuff way more accessible and that's totally fine when they do it on their own, but as soon as they start selling the results to others while not understanding what's actually happening, the longterm outcomes can ruin them.
Imagine the calculator in this case just calculates every natural exponent with a base of 2 wrong. A mathematician would probably catch this easily if e.g. the result is not even and know how to calculate it correctly by hand if needed. The problem would most likely have been caught before some expensive mistakes happen.
Same with LLMs. If you have a dev there that uses it to improve productivity and still checks the generated code, it's probably fine. But if someone who has no idea uses it, it might result in some expensive AWS bills, either because of missing security or just plain bad code (happened way to often very publicly).
To me it's also similar to choosing e.g. python vs. Rust. With Python you have something working quick and easy and if you just need a prototype out the door, it's often a good choice. Rust on the other hand "forces" you to do things the "right" way, so at the beginning it's "slower", but long term, when you do the third refactor 5 years down the line in a 100k line codebase, Rust is often quicker (at least from my experience) because it's better at pointing out all the edgecases where new problems might arise (I only used Rust and Python as examples, other languages fit too).
There are few words that frighten me more than 'democratization'...
Well, you see, once the AI overlords had fed the sum total of written word to their creation, they had to start finding new sources of model input.
Yeah, "fix". I'd treat the client's.... thing as proto and just code something clean lol
I can’t wait to cash in on this and charge TONS for my expertise, and I would recommend others do the same. Remember if we weren’t good or cheap enough to write it in the first place we’re not lowering our prices to fix it.
Same song and dance consultants have been enjoying for 30+ years.
Offshoring did/does the exact same thing. Mass-produced cruddy code.
Because no matter how much a dreamy-eyed c-suite executive desires, you can't go ultra-cheap on the labor side of software engineering. Well you can, but it'll cost you tons more time and money.
This is a positive impact on the industry imo. It pushes non-tech people to dip their toes in and sooner or later dispels their preconceptions of what software dev entails.
When they do hire a dev, they will know exactly what value that competent dev brings to the table and won't have this constant voice in the back of their head telling them they could do it themselves to save money.
It's basically like a self-serve crash course that everyone is now taking in their spare time.
More of a double edged sword in my opinion. Those who dive their toes deep enough and are inquisitive enough to use LLMs to broaden their knowledge for sure. The problem is, by using LLMs you can get yourself in express time to the peak of mount stupid on the Dunning-Kruger curve, and get a mentality of “if I were able to do a basic website in 5mins than you (dev) can build a full one in 5 days”. I did a bit of teaching some time ago and I remember that the students who both used LLMs the most and did worst out of the class, were the one’s trying to argue with me that “developers will soon be obsolete” at the end of the course.
You're absolutely right. The people that tell me that AI will replace me are exactly the people that paste me a complete utter BS statement that was clearly written by chatgpt, and ask for my help that it's not working/true.
I have a friend who's an AI fanboy, and he himself can't code anything decent. He can throw together some shitty data science shit with AI, but nothing more.
The issue with LLMs isn't that they are bad or good at the job. It's still early stages at the viability scale. The issue is we give people a complex tool that needs expertise to do anything useful, but they don't even have the basic knowledge to use it. All it does is help them get to peak mount stupid, as you said.
Data Science and LLMs are a match made in hell. I work as a data engineer and our company recently consolidated a bunch of different data science teams into one team. Me and some of my team members were asked by my boss to help "productionize" some stuff that the data scientists built. This isn't an official thing, my boss just knows one lead on the newly unified team and wants to help his team score some points with the higher ups. I expected project structure and code quality issues, but these people have generated slop like I've never seen before.
I asked one lady why she was trying to force some weirdly structured values into a table instead of using a dict/json file. Her answer was "because I keep the values in an Excel file on Sharepoint, I don't know how to use json like that". This woman vibe coded her way into some janky shit, and she has no way to fix it herself because even if someone asked the LLM a better set of questions and shared the response with her, she wouldn't be able to comprehend it. LLMs just give these people enough rope to hang themselves.
It's still early stages at the viability scale.
The thing is that AI by itself is not viable. The thing is powered by:
Right now, APIs are closing down, scraping gets harder because people don't want their shit crawled through to serve as training data to openai/grok/gemini/claude/mistral/deepseek, look at what reddit did.
VC money is going to run out sooner or later, then the true price of AI is gonna show. Think 300$ a month is a lot for AI ? When you factor in costs for training, annotating, and then running the model you can easily 10x that price.
For 3000$ a month, you can get an actual human. AI is going to serve as a tool to empower devs to get more productive, if ever, it's never going to replace actual devs and engineers.
Mount Stupid is a popular destination these days
Not to rag on you personally, but that's not the Dunning-Kruger graph and is a common misconception perpetuated by people who don't know what the effect is.
The Dunning-Kruger effect is simply that competence levels and confidence levels have a non-linear relationship where those with more competence feel they know less (likely due to the breadth of their knowledge increasing, having them encounter fields novices don't even know they don't know yet), causing them to underestimate assessment scores while novices overestimate.
The graph with Mount Stupid, although humorous and relatively accurate, is a vast overexaggeration of the actual Dunning-Kruger effect.
The fact that you have to scroll a few pages to find the actual graph is oddly enough a very good example of the effect itself, where people on Mount Stupid oversaturated the search with their misconceptions due to overconfidence in their understanding.
Normally I wouldn't be this pedantic, but this is a programming sub so I feel it's suitable. The Mount Stupid graph was a comedic representation of the same general ideas that inadvertently became more recognizable than the real effect.
Even with LLMs it takes a lot of time to code something actually production ready... I know a lot of startups don't give any fucks about user-data-privacy regulations and what not, but software doesn't live in empty space. Even stupid listing sites have to do research wrt what's legal and what's not in a country they operate. This usually falls on developers, unless you work in a big company with legal units (I am lucky to be in one lately and people ask me about the license of the software we're using less often - though these "law experts" sometimes are full of it too, they're sometimes afraid to use gpl software on the server side and don't recognise differences between agpl or gpl but that's another story).
Anyway, my point is that just having something working on localhost and then mindlessly trying to push it onto a vps or some managed k8s instance is not the same thing. And even when AI agent with some luck manages to accomplish that, there's still audits and regulations such apps must meet and someone must be responsible for that. I doubt a c-suit soy boy who vibes some product will be willing to take some responsibility suddenly.
I teach CS and it's always the kids who do the worst on the tests that argue with me to get with the program on AI.
The funny thing? My written tests are almost entirely conceptual and they have projects worth an equal amount of points that they are allowed to use LLMs on if they document and cite them correctly.
I just don't know how to explain to them that holding information in your brain has been and continues to be the most important skill when getting a job.
He learned absolutely nothing about the true value of a developer.
He valued a developers time to fix his garbage at a few hundred dollars total.
This is not a good thing for the industry.
They think “I can almost do this myself. If I only knew a tiny bit of programming, I could’ve done it.” They will think devs are grossly overpaid because they can’t even begin to recognize the issues with their code base.
I expect many to not come out disillusioned, expecting little changes being required to get a functioning product, and there being no need for structural improvements beyond making the first feature work.
It's almost finished after all, so why rewrite now? And AI got me to 95%, I just need you to tie up the loose ends. What do you mean where are the tests? Ah, you're one of those AI haters. I'll just get a vibe coder to fix it - the cousin of my neighbour said they could get it to work in 3 days.
Same as every no-code solution that has been tried before. You might get a few creative individuals that can actually create a working tool but few others ever will.
I have a hard time imagining who they expect to be building things with AI except the devs who really don't need the assistance. It won't be the salespeople or product owners. The ones that could benefit from internal tools that don't need to be well-architected won't be building them.
In a way it's very similar to the Excel and Access messes that business users have been developing for decades. They do solve some genuine need and they work to some degree. Most business applications start out in that stage, and once they've proven their value and need to scale - that's when the software developers come in.
That’s a very optimistic view.
LMAO
50-60k lines and nothing works, I would literally kill to look at this.
Expect a good 30k lines of comments
And 20k lines of redundant code that never gets called.
AI loves to build new functions for every new use case. Then it’s just completely random which one of its five identical functions it will actually call.
no fr tho, every time i code with ai and there's a bug it'll create a function to just get past that ONE SPECIFIC bug.
like i'll ask it "yo the calculator app's accessiblity data aint being scraped properly its only 3 layers into the accessbility tree" and claude just creates a function DEDICATED to scraping the calculator. no not just realize that this could be a code wide bug, NO, just do the calculator
I once had a summer student who worked like that. He would solve the problem in the ticket, but not think any deeper as to what caused the issue or how it might be affecting other parts of the application. When his band-aid would only fix the one visible issue noted in the ticket and I pointed out another potential problem he would just slap a new band-aid on.
I even told him the likely root cause but he ignored me for his own solutions for literal weeks. Worst student I ever had. I described it to others as him being too homework-brained: he acted like tickets were neat little self-contained assignments where he just had to make the output for the example inputs work and never gave a thought to what the code was actually trying to do.
Eventually he left and gave me a huge code review of his terrible solution he spent over a month on and I just did the ticket from scratch in one afternoon because the issue was exactly what I told him it likely was. He wasn't hired again the next summer.
god that sounds like a nightmare
well at least we know where ai is getting this shit from
I once had a summer student who worked like that.
I've had Sr Devs that work like that...
You’re right. Let me add a comprehensive debugging system to see where the problem is…
I've noticed that, in the case of Claude Code, it would correctly understand it needs to modify a function and if the function doesn't change parameters it will likely modify it. But if the change implies new or changed parameters it will fail to "find it" so it will recreate it. Since it's the same function with different parameters the compiler doesn't care and the thing gets lost.
BUT then when revisited it will find the old function that doesn't work any more, and decide that's the one it needs to modify and will just go off. Then will try to modify the callers and suddenly something that's been working for three weeks no longer does, but the new thing does.
AI for coding can't be left alone. It can save a lot of work but good god how easily it goes off rails.
def find_smaller_of_two_numbers(first_n, second_n):
"""
In an era long past, when the ancients first whispered of integers and the fabric of logic was
still being woven by titans of thought, a question emerged—subtle, profound, devastating in its
simplicity: "Which number is smaller?"
This function does not shy away from that eternal burden. Nay, it embraces the crucible of decision,
forging from pure numerical essence a single truth.
Parameters:
----------
first_n : int or float
The first contender in this age-old duel—a number imbued with ambition, yet tempered by its own magnitude.
second_n : int or float
The second challenger—perhaps humbler, perhaps mightier, a cipher cloaked in potential.
Returns:
-------
int or float
The lesser of the two numeric entities—declared not through violence, but through comparison,
an act both clinical and poetic. If they are equal, fate has declared no victor, and equality
reigns.
Raises:
------
TypeError
If either input is not a number, the function shall reject it as heresy, for this is sacred ground—
a sanctuary for numerals alone.
"""
import numbers
if not isinstance(first_n, numbers.Number) or not isinstance(second_n, numbers.Number):
raise TypeError("In the temple of comparison, only numbers may enter.")
# The moment of reckoning. Silence. Breath held.
if first_n < second_n:
return first_n
else:
return second_n
Truly, we are living in the best of times.
using System;
using System.Collections.Generic;
using System.Linq;
namespace KawaiiMathLibrary
{
/// <summary>
/// ✿◕ ‿ ◕✿ Onii-chan! This is my super duper special mathematical comparison utility class! ✿◕ ‿ ◕✿
/// Created with lots of love and cherry blossoms! 🌸🌸🌸
/// Please be gentle with my code, onii-chan! (´∀`)♡
/// </summary>
public static class UltraKawaiiNumericalComparisonUtilityForOniiChan
{
/// <summary>
/// ♡(˘▾˘)~♡ Onii-chan! This is my absolutely adorable function to find the smaller number! ♡(˘▾˘)~♡
///
/// It's like when onii-chan has two delicious taiyaki and I want the smaller one so I don't look greedy! (>人<;)
/// But actually I want both... kyaa~ don't tell onii-chan I said that! (/▽\)
///
/// This function uses the most sophisticated mathematical principles that I learned
/// while studying under the cherry blossom trees! 🌸✨
///
/// Features that make onii-chan proud of his little sister:
/// - Ultra kawaii variable naming conventions! ✿◕ ‿ ◕✿
/// - Extensive validation because onii-chan taught me to be careful! (´∀`)♡
/// - Detailed logging so onii-chan can see my thought process! ♡(˘▾˘)~♡
/// - Exception handling because I'm a responsible imouto! ☆(ゝω・)vキャピ
///
/// Parameters:
/// - firstAdorableNumber: The first number that onii-chan wants to compare! So exciting! ✨
/// - secondPreciousNumber: The second number! Maybe it's smaller? Maybe not? Kyaa~ the suspense! (>_<)
///
/// Returns:
/// The smaller number, chosen with all the love in my kokoro! ♡(˘▾˘)~♡
///
/// Throws:
/// - ArgumentException: When the numbers are exactly the same! How can I choose?! (´;ω;`)
/// - OverflowException: When the numbers are too big for my tiny brain! (@_@)
/// </summary>
/// <param name="firstAdorableNumber">First number to compare, onii-chan! ✨</param>
/// <param name="secondPreciousNumber">Second number to compare! So thrilling! 🌸</param>
/// <returns>The smaller number, selected with maximum kawaii-ness! ♡</returns>
/// <exception cref="ArgumentException">When numbers are equal and I can't decide! (´;ω;`)</exception>
/// <exception cref="OverflowException">When numbers are too big for imouto's processing power! (@_@)</exception>
public static double FindTheSmallerNumberWithMaximumKawaiiNessAndLoveForOniiChan(
double firstAdorableNumber,
double secondPreciousNumber)
{
// ♡(˘▾˘)~♡ Onii-chan! Let me start by creating a beautiful log of my thought process! ♡(˘▾˘)~♡
var kawaiiiProcessingLog = new List<string>();
// (´∀`)♡ First, let me check if onii-chan gave me valid numbers! Safety first! (´∀`)♡
kawaiiiProcessingLog.Add($"🌸 Onii-chan gave me first number: {firstAdorableNumber} - it's so beautiful! ✨");
kawaiiiProcessingLog.Add($"🌸 Onii-chan gave me second number: {secondPreciousNumber} - this one is lovely too! ✨");
// ☆(ゝω・)vキャピ Let me validate these precious numbers onii-chan entrusted to me! ☆(ゝω・)vキャピ
if (double.IsNaN(firstAdorableNumber) || double.IsNaN(secondPreciousNumber))
{
kawaiiiProcessingLog.Add("(´;ω;`) Oh no! One of the numbers is NaN! Onii-chan, this makes me sad!");
throw new ArgumentException("Onii-chan! (´;ω;`) You gave me a NaN value! Please give me real numbers so I can help you properly! ♡");
}
if (double.IsInfinity(firstAdorableNumber) || double.IsInfinity(secondPreciousNumber))
{
kawaiiiProcessingLog.Add("(@_@) Kyaa! The numbers are infinite! My tiny brain can't handle this!");
throw new OverflowException("Onii-chan! (@_@) These numbers are infinite! Even my boundless love for you can't compare infinite numbers! Please give me finite ones! ♡");
}
// ♡(˘▾˘)~♡ Now let me check if they're exactly the same! That would be so confusing! ♡(˘▾˘)~♡
const double veryTinyToleranceForMyDelicateComparison = 0.0000000001;
var absoluteDifferenceBetweenTheseAdorableNumbers = Math.Abs(firstAdorableNumber - secondPreciousNumber);
if (absoluteDifferenceBetweenTheseAdorableNumbers < veryTinyToleranceForMyDelicateComparison)
{
kawaiiiProcessingLog.Add("(´;ω;`) The numbers are practically the same! How can I choose between them?!");
throw new ArgumentException($"Onii-chan! (´;ω;`) The numbers {firstAdorableNumber} and {secondPreciousNumber} are too similar! I can't pick the smaller one because they're basically twins! Please give me different numbers! ♡");
}
// ✿◕ ‿ ◕✿ Time for the main comparison algorithm that I designed with all my love! ✿◕ ‿ ◕✿
kawaiiiProcessingLog.Add("✨ Starting my super sophisticated comparison algorithm! ✨");
double theChosenSmallerNumberThatMakesOniiChanHappy;
string whyIChoseThisNumberExplanation;
// (>人<;) The moment of truth! Let me compare these numbers like comparing cherry blossoms! (>人<;)
if (firstAdorableNumber < secondPreciousNumber)
{
theChosenSmallerNumberThatMakesOniiChanHappy = firstAdorableNumber;
whyIChoseThisNumberExplanation = $"I chose the first number ({firstAdorableNumber}) because it's smaller than the second one ({secondPreciousNumber})! ♡";
kawaiiiProcessingLog.Add($"🌸 {whyIChoseThisNumberExplanation} 🌸");
}
else if (secondPreciousNumber < firstAdorableNumber)
{
theChosenSmallerNumberThatMakesOniiChanHappy = secondPreciousNumber;
whyIChoseThisNumberExplanation = $"I chose the second number ({secondPreciousNumber}) because it's smaller than the first one ({firstAdorableNumber})! ♡";
kawaiiiProcessingLog.Add($"🌸 {whyIChoseThisNumberExplanation} 🌸");
}
else
{
// ♡(˘▾˘)~♡ This shouldn't happen because I already checked, but just in case! ♡(˘▾˘)~♡
kawaiiiProcessingLog.Add("(@_@) Something mysterious happened! The numbers are equal but I missed it earlier!");
throw new InvalidOperationException("Onii-chan! (@_@) Something went wrong in my comparison logic! This should never happen! Please tell me what went wrong so I can fix it! ♡");
}
// ☆(ゝω・)vキャピ Let me do some additional validation because I'm a thorough imouto! ☆(ゝω・)vキャピ
kawaiiiProcessingLog.Add($"✨ Double-checking my choice: {theChosenSmallerNumberThatMakesOniiChanHappy} ✨");
var isMyChoiceActuallySmaller = (theChosenSmallerNumberThatMakesOniiChanHappy <= firstAdorableNumber) &&
(theChosenSmallerNumberThatMakesOniiChanHappy <= secondPreciousNumber);
if (!isMyChoiceActuallySmaller)
{
kawaiiiProcessingLog.Add("(´;ω;`) Oh no! I made a mistake in my logic! I'm so sorry onii-chan!");
throw new InvalidOperationException("Onii-chan! (´;ω;`) I made an error in my comparison logic! My chosen number isn't actually the smaller one! Please forgive your silly imouto! ♡");
}
// ♡(˘▾˘)~♡ Finally! Let me log my beautiful thought process for onii-chan to see! ♡(˘▾˘)~♡
kawaiiiProcessingLog.Add($"🌸 Success! I found the smaller number for onii-chan: {theChosenSmallerNumberThatMakesOniiChanHappy} 🌸");
kawaiiiProcessingLog.Add("✿◕ ‿ ◕✿ Mission accomplished with maximum kawaii-ness! ✿◕ ‿ ◕✿");
// (´∀`)♡ Print my adorable log so onii-chan can see how hard I worked! (´∀`)♡
Console.WriteLine("♡♡♡ Imouto's Kawaii Processing Log ♡♡♡");
foreach (var logEntry in kawaiiiProcessingLog)
{
Console.WriteLine($" {logEntry}");
}
Console.WriteLine("♡♡♡ End of Adorable Log ♡♡♡");
// ✿◕ ‿ ◕✿ Return the result with all my love! ✿◕ ‿ ◕✿
return theChosenSmallerNumberThatMakesOniiChanHappy;
}
}
}
What have I done
LGTM
I would kill NOT to look at this.
I'm not feeling very safe right now
50 bucks says it could easily be 20k or less just from applying DRY principles.
I would do anything to avoid this. I don't want to fix this mess - and its propably faster to start from scratch.
I already did a complete rewrite of a service in a business setting. Ir was simply unmaintainable. I guess this vibecoded mess is even worse, as the sole human involved had no idea what he was doing.
I would kill not to have to look at it
60k. What the hell. Im working on a city builder with multiple simultaneous simulations and I'm only at 12k lines of code.
Yeah I've worked on an mmo for 5 years and the engine is only 26k lmao
ok, but is it dragon themed, and 100% science based?
fuck me this comment just timewarped me to like 10+ years ago, wow
14 years, in fact.
Prolly lots of duplication. I've worked with some "business" devs who vibe code their shit into prod (yes, the company tolerates that). We write the infra and code that interacts with their shit. Their shit is an unmaintainable spaghetti.
Maintainability considered, it would be best to rewrite it slowly, but management won't allow us. Dupes, dead code, unused definitions... I feel bad for the dev that would support them when something breaks in prod (hopefully not me, because I'm looking for work).
At least he realizes that he has got to a point where the AI is no longer helpful. Most people would keep trucking on. I am honestly impressed he was able to code 50-60k lines of code with AI. They usually start looping on themselves because the context is overloaded and start forgetting what is in the codebase.
Assuming app includes web app...10 web pages, lots of absolute, lots of z index, all placeholder info. Didn't hear anything about storing info, so no idea wtf is happening with that backend, but can only assume a few thousand lines of 'John Doe'.
Company logo is hopefully a tenor api call for random. This won't increase code volume very much, but it would make me happy to see AI troll someone.
Alternative theory:
They include everything, like json.package as lines of code. Have a single web page and just kept installing more and more packages at every error. That way, his app can React to his Angular.
He says he could continue with AI, and that hiring an expert "might actually take less time" than AI... not a very strong realization going on here.
Why do I get the feeling that they will not want to pay for a good developer doing this? I would have to look at the code but that's easily months of work. And I wouldn't bill this for less than $200/hour and that's cheap. So at least tens of thousands of dollars.
But they probably want something cheap
That 200 dollars is probably what they want to pay. Total.
He answered in the post. “Few hundred” was what he was willing to pay.
People said $100-200 per hour minimum for a minimum of like $10000-20000 total.
He decided to stick with vibe coding lmao
yeah, I guess.
And thats the high end of it probably
Bet good money the code is so jank it would have to be completely rewritten to work correctly
Yes my plan was to try the see code a bit, poke at it, try to write some requirements, discuss the requirements and write something decent. Maybe I have to add another zero.
The last sentence is dead giveaway
Non-American devs will cost MUCH less than 200 per hour. Calling that cheap is just delusional.
It's also delusional to think reviewing a basic code base for a non profit personal project is worth anything close to 200 an hour. I work in a highly specialized technical field, we do work for less than that for fortune 500 production code bases.
They're just saying they wouldn't endure the suffering for less than that much, not that the actual business-value of the project is that.
Ok I'm actually not American so it will probably be closer to 50 per hour including all cost except the "fuck you" rate that I added later for how annoying that person is probably going to be.
Oh yeah, that's going to be more of a thing.
"I got the AI to make the changes I wanted, but it keeps doing weird shit so I'm going to need you to stay late to fix it."
Turns out the "weird shit" introduced thousands of security vulnerabilities because the AI took your boss' security credentials and baked them into an unencrypted text file while it opened up a bunch of unsecured connections and now your entire system is down because bad actors got access to those security credentials.
This will happen nearly every week because giving business majors who don't actually understand computers something they can talk to that arbitrarily makes a shitty version of whatever they want is maybe not a good idea, but there's no way these dipshits could ever admit they might not be the smartest person in the room.
50-60k lines of python? Holy shit
Literally my thoughts. Like, Python is obviously a high-level language, you could probably implement the entire Universe in 50k lines. But more to the point: what in God's name are you doing in Python which requires 50k lines?
He's got AI developing it's own basic libraries. "Import json failed, guess I need to vibe out some code to read a json"
(I was originally goiing to go with import os -> manually (vibe) code reading env vars. But. Then I realized that there's no fucking way this doesn't have at least a dozen passwords and API keys hardcoded in.)
Ctrl A + Delete
New job postings coming soon - Vibe code cleaner required
The question is: do I want to debug your shitty AI app? That's like debugging old legacy code, it's a nightmare.
Old legacy code at least made sense and ran once, maybe still runs.
AI slop is often dreams and hallucinations you couldn't make sense of with 20 years experience and 250 IQ.
This is like the worst version of someone bringing a car to the mechanic after they tried to fix it themselves.
Months of debugging??? How much total time did this guys spend on this. 50 to 60 k lines of code maybe can approximate the complexity of it.
I'd venture to guess that this guy could have better spent the time on just learning python and fastapi, both of which are extremely learner-friendly. He could have just used this as a project to learn, and he wouldn't be stuck right now because he'd understand how it works.
What a waste.
Plot twist: the developer he hires uses ChatGPT to clean up his code
Let’s say someone actually takes him/her up on this. I guarantee a large portion of it is unusable garbage. I would imagine a lot of these AI slop cleanups would essentially be “glean business requirements and logic from slop and rewrite”.
I spent the last few months using chat gpt to help me learn to code (I'm a tech consultant so my skills predominantly lay in business process analysis and low code implementations).
Starting with AI for your base with 2-3 prompts, working through the debugging and refinement process using stack overflow and then having regular-ish code reviews with a developer is a great way to learn to code, debug code and refine code. Using purely AI is honestly such a ridiculous idea and I don't understand how people build anything functional with it
P.s. I've been fully converted from low code, it's just terrible to maintain
Sounds like you are approaching this in the right way. In order to actually learn, you need to solve each small problem in turn and understand why it needs to be that way. When the AI spits out code that appears to solve the complete problem, it's far too tempting to just use it without understanding it.
greenfield development: $150/hr
remediating your toxic AI waste: $1000/hr
Start charging these chumps per line of code in there project. They won't know any better. 50 cents a line, thats 25k-30k
No sane person would agree to debug that unless it's very well paid by the hour and the client understands that it could take months of full-time work, and that starting from scratch would likely be faster. However, one potential use for it is as a prototype to demonstrate what the client wants. This way, when the developer begins from scratch, they can aim to recreate the look and features, but with proper implementation. That could actually be helpful, especially since clients who haven’t thought things through tend to constantly change their minds. If this one has already settled on a specific set of features and a user interface, then it’s a solid starting point.
50k LoC on FastAPI sounds absolutely wild.
I'd rather write it myself in the time that it would take me to fix a 50k project
and get it to actually work
lol
Lol, lmao, and even roflmfao all the way to the roflcopter.
"tidy up my application" you mean rewrite it bro 💔💔
Well, well, well. That took about 5 minutes. So, vibe coders who were convinced I was wrong, I ask you: where is your buggy and senile god now?
AI Slop just keeps on giving jobs
It's the circle of hype. Once this ball really gets rolling, we'll see the tech jobs start to pick up again :-)
He's clearly a paid shill from Big Human. Everybody knows that AI is already superseding everything a human can do. Like, what human can instantly produce 60k lines of code? Just by that number alone it can be deduced that the AI is superior.
Unless the pay is really good I would not touch an AI generated codebase, pure waste of time
Triple the tech debt
It's almost like there's a reason we carefully curate pull requests coded by human intelligence.
I'd rather fix legacy cabolt code written by someone who died of old age in the early 2000s then fix AI Slop.
Months of debugging on a personal project lol
I think, he should ask this question ChatGPT
“I could keep going with AI alone.”
“Interested in hiring a developer to tidy my application up and get it to actually work.”
You guys ready to spend the rest of our careers cleaning up AI trash? 😞
If it pays well. The problem is, our brains would go numb fixing dumb shit that should've never been put to code in the first place.
I'm trying hard to think of how much I would charge hourly to dig through 60k lines of AI driven slop, it would definitely be a lot
Debugging for months? Bros learning how to code and doesn’t know it
Do we have a coding group for this yet? If so can you direct me to it? If not can we create one? I feel like a lot of money can be made fixing people's dogshit code AI code and id love to be a part of a team dedicated for that.
Jesus, vibe coding and vibe debugging is like the blind leading the blind.
I personally don't know a single good developer that would even try to open this can of worms.
You need to understand what the person is trying to build and deal with all their unrealistic expectations, figure out the fine details, define an architecture.
Then you'd need to go through the ai slop and understand it. Now since this guy can't code or architect cursor literally made a mess and kept adding on it. Human spaghetti is bad, but unchecked Claude spaghetti is somehow infinitely worse.
So basically, it will require redoing the whole thing, right.
If you don't keep cursor in check and define the architecture and abstractions and force it to work within your constraints it will produce hot garbage.
To do that, you need to already know what the code should be and the AI is just saving you the grunt work.
No problem! $3.33USD per line. And everything will be rewritten. You pay 50% in advance. Thanks! 😊 🤣✊
Would any of you LIKE to correct someone else's AI slop code? Wouldnt it be just frustrating?
My work is like that.. fixing vibe code.
The vibe coders give us Jupyter notebooks, SQL files, Excel files with VBA in them. We are to "productionize" their notebooks, and they contain thousands of lines of vibe coded business code.
It's not fun to work with those. Very fragile. Send one null value to their function, and it breaks. A certain set of values will result in division by zero... They don't care. The bad part is they won't let us refactor their code. so we just build very tight validation around their function, but we can only do so much.
The work is very SDET than dev since they won't let us rewrite. Writing the tests suck too, because their shit cannot be unit tested
Honestly did not expect AI to make more programming jobs
And use Sonarqube to debug
Tbh it would be cheaper to hire a team of developers and get the whole thing redone by actual humans with proper documentation.
50-60k lines of pure vibe coding is prb 6k lines in reality
First step, throw everything away and start from scratch
Tbh, probably the way OP should look at it is AI made the proof of concept and now he needs to hire someone to implement v1 from scratch, using the existing app as an elaborate product mock up
Lots of negativity but one of the hardest parts of an app is nailing down the scope, customer requirements and flow.
Yes it’s probably a delete and start over from a code perspective but from a client perspective he’s an ideal client who has already spent months testing and defining exactly what he wants it to do.
100% this! One of my free lance clients has been doing business manually for years in spreadsheets. He vibe coded some tools that showcase the exact GUI he’d want and now is having me make it work.
In the process he found out the exact data, screens, and features he wanted. Makes my job 10x easier
$100 an hour, for ever
They create tons of legacy code is a few minutes, keep going! That makes more jobs for us xD
Every single clean coder simp just got a massive erection at the same time.
We feared AI would be our downfall and in fact it will be our boon
New strain of work: AI Code Cleaners
Just start over
This post probably has some of the best comments on reddit in years. Just something ive noticed.
Translation: I have 60k lines of useless code.
I'm waiting for when the jobs are for programmers to clean up AI code. People think AI will replace programmers. Nah fam. AI will create programming jobs. Just you wait.
I think the correct answer for this question is to tell them to learn to code, since they don't have time pressure.
That way you get a functional app and a new skill.
This is fake as fuck.
AI is not coherent enough to write a 50k line project by the instruction of a complete noob.
I'm not even sure it can write spaghetti but any way working project of 2k lines.
Someone is fantasizing for the attention
It absolutely can - if you don't care if it works, as this poster clearly doesn't.
They mention "actually getting it to work" which says they don't actually test the code and just have continued to give the AI prompts and now suddenly realize it doesn't work at all and are panicking and trying to find someone else to fix it.
I guess there will be some market for this, but most vibe coders don't have any money.
How long before those same ai businesses offer a vibes qa to go with the vibes coder?
Please be satire
What’s the problem with someone who has a vision but no coding experience to use AI for a prototype, then look for a dev to make it production ready?
I'd charge double the price to fix whats there, or the normal price to start from scratch.
I wouldn't want to debug someones vibes unless they pay really good
P.s. He can probably find some vibe coder that would do the vibe debugging
If you figure out the architecture you can just redo it
Why does half the app use get variables and half uses post? Why does each page have its own. Authentication class? Why does the user system use MySQL but the content uses sqlite?
I imagine a big chunk of the apps by non-developers are a scaffolding nightmare.
I suspect the scaffolding it most resembles is a gallows for all the fun you’d have dealing with that.
Yeah honestly this doesn't sound that hard. Just asking (via Cursor) one of the better models a few strategic questions would get you a long way. Then getting it to shave down all the unnecessary cruft and rework a few things…
Really just npx repomix to get the whole codebase into an xml and let gemini chew it and spit out a mermaid diagram, and suggested improvements
That’s a thing?
Yep if you have node installed then in terminal cd into the codebase and run the command
Love you
Why care about some "hallucinated" "architecture"?
You find out what he actually wants and just build it from scratch with proper tech.
That's likely the simplest way!
The Architecture
It's vibes all the way down baby.
You can tell by how the poster types that he won’t pay enough for a developer competent enough to rebuild the slop. Just looking for somebody to “tidy up” the code. You know, just a small cleanup job to get it to work!
it's probably easier to just rewrite it from scratch tbf
Hell, it's probably easier to rewrite it in Scratch.
Just consider the client code as prototype, start fresh
You can revibe it, but knowing what you're actually doing it won't be 50k LOC and will do what it is supposed to do.
Forget any security, they don't care anyway...
Offtopic below:
What's funny though is that there are actually laws in place when you operate on user data, do you think AI cares about those?
All these cookie pop ups on the website, archiving the data, having correct api exposed for the user to be able to delete his data and what not. Every single country has its own specifics too. It's all a total mess in US only, because most muricans don't care about privacy.
C suits might shit on the law, but the audit will get them and they'll have to turn coat once again.
"We vibe coded it" is no excuse when it comes to users data. Banks and financial institutions pay milions in fines if they don't meet the regulation standard. The "anonymous I" doesn't know shit about the regulations in european countries.
I've worked in a company who is an inditex competitor and their practices with user data are scary. I left quite quickly, because sooner or later they'll have to clean up the mess and pay fines.
tl;dr;
all reddit and c-suits act like compliance and acid and user-laws (wrt to their data and privacy) regulations are not a thing, we'll see for how long.
I am an engineer at a big tech company in the US. Nobody actually cares about the data privacy laws and no one is (actually) enforcing it, at least internally
oof. I am also an engineer at a big tech company, and here we take it EXTREMELY seriously. There's an internal team of white-hats looking for privacy problems, too, so they're not just trusting us to tell them the truth about the code, either.
No we have all that too, but in the hr department the engineers there who actually work on the internal systems that handle all the employee and customer personal info data itself are the worst in the company, it's widely considered the coasting org
So is the engineering management in that org, so projects to develop depersonalization systems or enforce proper handling of data keep getting delayed and delayed
Honestly at that point, a better use of a developers time would be to just develop this person's application from scratch
You called? AMA, I am a vibe expert. Which algorithm out of my 7,826 would you like me to describe?
Tbh, I'm already lazy like that and paste some Free GPT slop and edit it to make it decent-ish
Maybe this is my destiny
Seems like it’s only going to get better at (basic) coding. I’m very much not a programmer (and would never use my shitcode for anything important) but it’s helped me out and taught me some things. I got it to build me a scraper to pull sales leads from somebody else’s store locator (that just had business name and address), and it worked great. Got all the data from Google like phone # and website, what kind of store it is, and would even go to the website and pull any additional phone numbers and email addresses. Got 10s of thousands of leads to use to weasel in on our competitors, with like an hour of yelling at GPT.
Anyways, if you make it explain everything to you and ask a lot of questions it’s actually a pretty good learning tool. And if you don’t ask it questions it will give you shit because it doesn’t double check itself enough. “Well above you said _____, couldn’t that be the problem?” “You’re exactly right, that is the problem. Here’s what you need to do!” Still very flawed but I’ve enjoyed learning some basic (and some not-so-basic) shit from it. I don’t envy anyone who has to try to streamline all the excess lines of code and stuff that’s wrong but still sort of works though. Although GPT (o4-mini-high) is pretty thorough about commenting with explanations, at least.
Like with other industries, it’s going to pick off the very bottom tier of copy-and-paste programmers on Fiver, but people who actually understand the bigger picture will be fine.
Vibe debugging or rebugging?
Idk, the amount of technical debt may still be lower than the poorly documented code, that gets developed since the 90s in many companies. He has a poorly working prototype made by an AI, that is right 90% of the time. That might still be better than the stuff written by an intern 10 years ago, that mostly copy pasted StackOverflow and left the company after his internship was over and documented absolutely nothing.
Both things you do not want, but they pay your bills, so it could be worse.
Don't kid ourselves, that just because a human wrote the code, it is automatically better. After all Yanderedev exists.
Correction here: "that a person who doesn't know how to code thinks is right 90% of the time".
These are two very very different sentences
This just sounds like condescension for the sake of it. The guy obviously doesn't know how to code, and is working with a giant pile of unmaintainable slop. But he clearly has it doing something and can tell when it does the thing he wants and when it doesn't, he just doesn't know the why.