1123Interactive - Technical Consultancy for Founders
MVP Development

My Developer Says It All Has to Be Rebuilt

John Coleman • • 10 min read

You brought in a new developer to fix a few things or take over maintenance. They looked at what you have and came back with bad news. Your developer says it all has to be rebuilt from scratch. The code is a mess, they tell you, and patching it would cost more than starting over. You came in for a repair and you’re holding a quote for a new build.

I have to be careful here, because I’ve said that sentence to clients myself, and I meant it. I also know it gets used as a sales technique on people who have no way to check. The words are identical in both cases. What differs is everything around them, and that part you can evaluate.

Why developers say it

To anyone outside software this sounds absurd. You hire a plumber to fix a leaky faucet and they tell you the whole bathroom has to be remodeled. Software is different enough that the plumber is sometimes right, and that’s the problem.

There are three reasons a developer says it, and they all produce the same recommendation.

The first is honest. Sometimes the code can’t be saved, and building again is cheaper than understanding what’s there. I made that case in detail in what happens after an offshore MVP is “done”, and I stand by it.

The second is a bigger sale. You came in looking for maintenance at $750 to $1,000 a month. A rebuild is $30,000 to $50,000. If you can’t read code, it takes very little to convince you that what you own is garbage, and you have no way to argue.

The third is the most common, and it’s human nature. Most independent developers don’t want to work on someone else’s code, and it helps to understand why.

Why working on someone else’s code is so hard

Inside a company, a developer who inherits old code has help. There’s documentation built up over years, a team to ask, and usually one or two veterans who know why everything is the way it is. An independent developer has none of that. They open your code alone.

Every developer builds things a little differently. Working in someone else’s code means holding their way of thinking in your head while fighting your own, and making each fix fit a design you would never have chosen. That’s a real mental load, and it doesn’t lift. Something that would take an hour in their own code takes a day in yours.

It’s also the least enjoyable work there is. Most developers love the creative part, building something new, and like maintenance least. A project that is all maintenance is all vegetables and no dessert. People who work for themselves mostly do it because they like building their own things. If they wanted to maintain someone else’s software, they’d have a job at a tech company.

So the frustration builds. A few months in, a developer hits a wall: this makes no sense, this is taking ten times longer than if I’d built it myself. “It all has to be rebuilt” is often that wall talking. The frustration is real. It may or may not be an accurate reading of your code.

There’s a practical consequence even when nobody says the sentence out loud. A project that is pure maintenance on another person’s code tends to become a developer’s lowest priority. In my experience it’s the first one they put off, and the first one they hand back.

None of this means you have to agree to a rebuild. It means the pushback is common, it has an ordinary explanation, and it looks the same whether the code is unsustainable or the developer is tired of it.

The tell is how they reached the verdict

In that offshore post I wrote that no developer can tell you from a Zoom call whether a codebase is worth saving. I’d turn that into a test.

A verdict that arrives before anyone has read the code is a sales pitch. It might also happen to be correct. You still can’t rely on it, because the person giving it doesn’t know yet either.

A real assessment takes time. Someone reads the code, runs it, checks how data is stored and how logins work, and writes down what they found. That takes days at the least, and for anything sizable it can take weeks. Expect to pay for it. Paying for the assessment separately is what makes it trustworthy, because the developer has been paid whether or not a rebuild follows.

A verdict that arrives before anyone has read the code is a sales pitch.

What an honest assessment looks like

You can judge these without understanding a line of code.

It’s in writing. A few pages you can keep and show to someone else. A phone call saying “it’s bad” is an opinion you can’t check or pass along.

The problems are specific. “Customer passwords are stored unprotected, here is where” is a finding. “It’s spaghetti” and “it doesn’t follow best practices” are impressions. Ask for three examples and see how concrete they get.

It says what can be kept. Even a bad codebase usually has something worth saving: the data, the design, the list of what the product does. An assessment that finds nothing of value at all should make you suspicious.

It explains why fixing costs more than rebuilding. Ask directly: “What would it cost to fix only the three worst problems?” An honest developer can walk you through why that’s a bad trade, in plain language. A dishonest one changes the subject.

The rebuild quote has a scope. If the answer is to start over, the new build should come with a written list of what you get and a price for that list. A rebuild with a vague scope puts you back in the position that got you here.

When a rebuild really is the answer

A rebuild is probably right when

  • The security problems are in the foundation, such as how logins or payments were built
  • The way data is stored can't support what the product needs to do next
  • Nobody, including the new developer, can get the current version running or deployed
  • The original developer is gone and left no documentation, no tests and no notes
  • It's small and early, and rebuilding takes weeks

A rebuild is probably wrong when

  • The app works, people are using it, and you came in with a short list of specific bugs
  • The main complaint is the language or framework it was written in
  • The verdict came from a call, a quick skim or a screenshot
  • The person recommending the rebuild is the only one who has looked, and they'd be the one paid to do it

There is usually a middle path, and it’s worth asking for by name: rebuild it in pieces while the current version keeps running. The developer replaces one part at a time with something they built and understand, and the old code shrinks until it’s gone. You avoid one large bill and a risky switchover, and they get to do work they enjoy on something that becomes theirs. Ask whether that’s possible. Sometimes it isn’t, and a good developer can tell you why.

Get a second opinion, and structure it properly

If the number is large, pay someone else to look. Two rules make this worth the money.

Tell the second developer up front that they are being hired for the assessment only and will not be doing the rebuild. That removes the reason to exaggerate.

Give them the first developer’s written findings and ask whether they agree, point by point. Two independent people naming the same specific problems is strong evidence. One person naming problems the other can’t find is also informative.

ℹ Be fair to the first developer too

New developers almost always criticize the previous developer’s work. It’s close to a reflex in this trade. A harsh review of your old code is not evidence that anyone cheated you, and it’s not evidence the new developer is lying. Ask for specifics.

If you do rebuild

Go in with your eyes open about cost. Rebuilds tend to take longer than quoted, because the old software does things nobody wrote down, and they only surface when a customer notices they’re gone.

Keep the old version running until the new one is proven. Own every account the new build lives in, which I covered in Your AI Prototype Stalled. How to Hire Someone to Finish It. And have the developer show you working progress every week, using the checks in I Think My Developer Is Lying to Me.

This is one of the decisions where having a technical person on your side, who isn’t selling you the rebuild, is worth the most. It’s a large part of what I do as a fractional CTO.

Key Takeaway

“It has to be rebuilt” is sometimes true and sometimes a sales pitch, and the sentence sounds the same either way. Judge how the verdict was reached. A real one comes after a paid review, in writing, with specific problems, an account of what can be kept, and a plain explanation of why fixing costs more. For a large quote, pay a second developer for an assessment only.

Frequently Asked Questions

My developer says my app needs to be rebuilt from scratch. Is that true?
It might be, and you can't tell from the statement alone. Look at how they reached it. A trustworthy verdict follows a paid review of the code and comes in writing, with specific problems, a list of what can be kept, and a plain explanation of why fixing costs more than rebuilding. A verdict given on a call before anyone has read the code is not reliable.
How do I know if my code is really that bad?
Ask for three specific examples in writing and see how concrete they are. A named security hole is a finding. "It's spaghetti" is an impression. Then pay a second developer to review the code and the first developer's findings, and make clear they will not be hired for any rebuild. Two independent people naming the same problems is strong evidence.
Is it cheaper to rebuild an app or fix it?
It depends on where the problems are. If they're in the foundation, such as how logins work or how data is stored, rebuilding is often cheaper. If the app works and has a short list of specific bugs, fixing is usually cheaper. Rebuilds also tend to run over their quotes, because the old software does things nobody documented.

Been Told to Start Over?

Send me what you were told and what you have. I'll tell you which questions I'd ask before spending anything, whether or not you hire me.

JC

John Coleman

Founder, 1123Interactive

I've told clients their software had to be rebuilt, so I know how that sentence sounds from the other side of the table. 25 years building software, seven ventures of my own.

Learn more
Get in Touch

Have a project in mind?

Let's talk about what you're building.

[email protected]