Where the money actually goes
People assume they are paying for code. Mostly they are paying for decisions, and for the cost of changing decisions late.
A rough split on a typical project: discovery and scoping, design and user flows, build, testing, and then the part nobody budgets for, which is everything after launch. Maintenance, updates, platform changes, and the features you did not know you needed until real people used the thing.
That last category is not a footnote. Software is not a purchase, it is a commitment. Any quote that ends at launch has quietly handed you an ongoing cost and called it done.

Why estimates blow out
- The brief was a wish list, not a scope. "It should also do X" is the most expensive sentence in software, and it always arrives in week six.
- Nobody defined done. Without a hard definition, the project expands to fill the budget and then some.
- Edge cases were treated as details. They are not details. They are most of the work.
- Integrations were assumed to be simple. They are never simple. The other system was not built for you.
- The first version tried to be the final version. This is the big one.
The defense against all five is phasing. Build the smallest thing that solves the actual problem, put it in front of real users, and let what you learn shape phase two. It feels slower. It is dramatically cheaper.
Do you actually need an app?
Genuinely ask. A lot of "we need an app" conversations end, correctly, with a website, a spreadsheet, or an automation.
- If it is a marketing problem, build a [website](/services/web-design). Nobody is downloading an app to look at your services.
- If it is a repetitive internal task, automate it. Cheaper by an order of magnitude, and live in weeks.
- If it needs to be found on Google, it is a web thing. App stores are not search engines for your business.
- If you need it on someone's phone, in their pocket, used regularly, then yes, build the app.
Here is the version we say out loud, because it costs us work: if a task can be automated, automate it before you throw more people, or more software, at it. We have watched teams copy-paste leads between forms, spreadsheets and a CRM by hand and conclude they needed a custom platform. They needed an agent handling the hand-off, which took a fraction of the time and money.
How to scope so it does not run away
- Write the problem, not the solution. "Our techs waste 40 minutes a day on job sheets" beats "we need a mobile app with offline sync".
- Define phase one as the smallest useful thing. Ruthlessly. If it feels embarrassing, it is probably right.
- Name what is explicitly out of scope. In writing. This one sentence saves projects.
- Budget for after launch. A rule of thumb is that the first year of running it is a meaningful fraction of building it.
- Agree how you will know it worked. A number. Before you start.
That is how our app and software work is structured, scoped carefully, built in phases, with the uncomfortable conversation about whether you need it at all happening before the invoice rather than after.
Early signs a build is going wrong
Software projects rarely fail on a single dramatic day. They drift, and by the time it is obvious, a lot of money has been spent. These are the early signals.
- Nobody can demo anything after six weeks. Working software beats status reports. If there is nothing to click, ask why.
- The scope keeps quietly growing. Each addition sounds small. Together they are the project.
- Integrations keep slipping. The other system was not built with you in mind, and integration is where optimizm goes to die.
- Nobody has used it but the developers. Real users find in an hour what a team misses in a month.
- "We will fix that in phase two." Sometimes true. Often a way of not deciding.
The best protection is a short feedback loop. Something working, in front of a real person, early, even if it is ugly and does only one thing. That single discipline catches nearly every problem on the list above while it is still cheap to fix.
And if the app is going to have a public-facing side, hold it to the same standard as any website: it needs to be fast, and it needs to be usable. Core Web Vitals apply just as much to a web app as to a marketing page, and accessibility standards are not an optional extra you bolt on at the end. Retrofitting either one is far more expensive than building with them in mind.
Frequently asked questions
How much does app development cost?
It depends far more on scope than on code, and the honest answer is that the estimate is only as good as the definition of "done". Budget for after launch too, maintenance, platform updates and the features real users demand are a meaningful ongoing cost that quotes routinely omit.
Why do app projects go over budget?
Almost always scoping, not coding. The brief was a wish list, nobody defined done, edge cases were treated as details, integrations were assumed simple, and version one tried to be the final version. Phasing the build is the defense against all five.
Do I actually need an app?
Often not. If it is a marketing problem, you need a website. If it is a repetitive internal task, automation is cheaper by an order of magnitude and live in weeks. Build an app when it genuinely needs to live on someone's phone and be used regularly.
What is the best way to scope an app project?
Write down the problem rather than the solution, define phase one as the smallest useful thing, put what is out of scope in writing, budget for the first year of running it, and agree the number that will tell you it worked, all before development starts.

