What it costs to build a web app: the four drivers
Who logs in, and what they are allowed to do. One kind of user is a feature. Three kinds with different permissions is an access model, and it touches every screen in the product rather than sitting in one of them. This single answer moves an estimate more than any other.
The data model. Not how many screens — how many things, and how they relate. Five objects with clean relationships is a small app. The same five with exceptions, historical versions and rules that only apply on Tuesdays is a large one, and the difference is invisible in a wireframe.
What has to talk to something else. A payment provider is routine. A calendar, an ERP, a shipping API and a legacy system with no documentation is four separate projects with a shared deadline, and each one can fail on its own schedule.
And how wrong it is allowed to be. An internal tool used by nine people who can be told to refresh is a different budget from something a customer touches on a Sunday night with money in the flow. Correctness is a cost, and it is the one people quietly assume is free.

The surface nobody budgets
Every app needs an admin view, and it is almost never in the brief. Somebody has to see the records, fix the broken one, refund the payment and answer the support email. Left out, it becomes a developer with a database client, which is expensive and does not scale past the first month.
The empty state, the error state and the loading state, on every screen. In a website these are polish; in an app they are most of the experience, because an app spends its life part-filled and occasionally broken.
Anything involving email: the reset, the invitation, the receipt, the reminder. Individually trivial, collectively a fortnight, and always discovered late.
And onboarding the first real user, which reliably finds the assumption nobody knew they had made. Budget for the week after launch, not just the launch.
MVP is a scope, not a discount
The word gets used to mean cheaper, and it means narrower. An MVP is the smallest thing that lets one real user complete one real job end to end, with everything outside that job deliberately absent.
Which means the decision is which job, not which features. Pick the one that proves the business works, build the whole of it properly, and leave the other four entirely alone. Half of six jobs is not a product, it is six unfinished things.
The version that goes wrong is the one where the feature list got shorter but the ambition did not: still every kind of user, still every integration, just less of each. That costs nearly full price and answers nothing.
This is the same argument as naming one action for a page, applied to a product. One job, finished, beats six half-built every time.
Before you ask for a number
Write down who logs in and what each of them can do. Write down the things the system holds and how they connect. Write down what has to talk to something else. Three lists, an hour of work, no technical vocabulary required.
With those, an estimate is a conversation about scope. Without them, every number you receive is a guess, and the differences between the guesses are telling you about the assumptions rather than about the work.
It is the same discipline as a brief that changes a quote, and it matters more here, because an app has no page count to hide behind.
And check the ceiling before you commit to a stack: if this is really a website with one clever page, the answer may be much smaller than a build.
Marsec is the shape where the last of the four drivers stops being theoretical. It is stablecoin infrastructure sold to a compliance buyer, and even its marketing site had to read as audited and precise, because that audience checks. When being approximately right is the same as being wrong, correctness is not a quality bar, it is the budget.
Questions we get asked
How much does it cost to build a web app?
A genuinely narrow MVP — one kind of user, one job, one integration — starts in the region of $15,000. Multiple user roles, several integrations and money moving through it runs materially higher. Any number given before someone has asked who logs in and what the system holds is a guess wearing a decimal point.
Why do web app quotes differ so much?
Because the brief usually describes screens and the cost lives in states. Two agencies reading the same brief can assume one user role or three, five clean objects or five with exceptions, and one integration or four. Those assumptions, not the rates, are what produce a fourfold spread.
What is the difference between a web app and a website?
A website shows the same thing to everyone and is measured in pages. An app shows different things to different people, holds data that belongs to them, and is measured in states. The moment something must be true for one person and not another, you have crossed the line. If it also has to be installed from a store, the economics change again.
How long does it take to build an MVP?
For one user role and one job done properly, six to ten weeks is realistic. Anything promising a full product in three weeks is describing a prototype, which is a legitimate thing to buy as long as everyone knows that is what it is.