What a Web Application Really Costs (And Why Quotes Vary 5x)
Three agencies, three quotes, a five-fold difference. Here is what actually drives the price of a web application — and how to read a proposal properly.
You describe the same project to three agencies. One quotes eight thousand, one thirty-five thousand, one a hundred and twenty. All three are being honest. They are simply quoting three different projects, because your brief left enough room for three different interpretations.
The five variables that set the price
- Number of distinct user roles. An app with one type of user is a fraction of the work of one with an admin, a customer and a partner — permissions, interfaces and edge cases multiply, they do not add.
- Integrations. Every external system is a negotiation with someone else's API, their rate limits, their sandbox and their outages. Three integrations is often more work than the entire interface.
- Data complexity. A form that writes a row is trivial. A system where a change in one place must correctly propagate to five others, with history and rollback, is not.
- Design ambition. A clean interface using a component library is fast. A bespoke, animated, art-directed experience is a separate discipline with its own timeline.
- Non-functional requirements. Offline mode, multi-language, audit trails, regulatory compliance and high availability can each double the effort while remaining invisible in a demo.
Where the money actually goes
In a typical project, coding features is roughly half of the budget. The rest is discovery and specification, interface design, testing, deployment infrastructure, and the iteration cycle after the first version meets real users. Proposals that allocate ninety percent to development are not cheaper — they are simply omitting the phases that determine whether the thing works.
- 20-25% discovery, specification and design
- 45-55% development and integrations
- 20-30% testing, deployment, post-launch iteration
The cheapest quote and what it usually means
- No discovery phase — the specification will be invented during development, by whoever happens to be typing.
- No testing budget — you become the test team, after launch, in front of your customers.
- A template or page builder presented as custom development, which works until the first requirement it cannot express.
- Fixed price on a vague scope, which guarantees an adversarial relationship the moment reality diverges from the brief.
None of this makes a low quote automatically wrong. For a genuinely simple, well-understood project, a lean approach is the correct choice. It becomes dangerous only when the scope is uncertain — because that uncertainty does not disappear, it just gets billed later.
How to compare proposals honestly
- Give all three agencies the identical written brief, including your non-functional requirements. Different briefs produce incomparable quotes.
- Ask each one what they would cut to halve the budget. The answer reveals how well they understand your priorities.
- Ask what happens after launch: who fixes a production bug at 8pm, under what response time, at what cost.
- Confirm in writing that you own the code, the data and the accounts. This is non-negotiable and costs nothing to ask.
- Request one reference for a project of similar complexity — and actually call them.
The approach that keeps budgets sane
Split the engagement. Pay for a short, fixed-price discovery phase that produces a real specification, a data model and a clickable prototype. That artefact is yours, and any agency can quote against it accurately — including the one that produced it. You convert an uncertain hundred-thousand decision into a small, bounded one, and every subsequent quote becomes comparable.
The expensive part of software is rarely the code. It is building the wrong thing correctly.
Frequently asked questions
Should I ask for a fixed price or time and materials?
Fixed price works when the scope is genuinely fixed — which usually means after a discovery phase. Before that, fixed price forces the agency to price the risk into the number, and pushes both sides into arguing about scope instead of building. A fixed-price discovery followed by iterative delivery is the balanced middle ground.
How much should I budget for maintenance?
Plan for 15 to 20 percent of the initial build cost annually. That covers dependency updates, security patches, hosting, monitoring and small evolutions. Applications with no maintenance budget do not stay still — they degrade.
Can I start small and expand later?
Yes, and you generally should — provided the first version is architected with that in mind. The risk is a prototype built for speed that must be thrown away at the first growth step. Ask explicitly which decisions are provisional and what it would cost to revisit them.