What Actually Drives The Cost Of Custom Software
The dominant factor is rarely the choice of framework — it is uncertainty. Every open question in the brief becomes a contingency in the estimate. A team that has no visibility into what happens on the unhappy path will assume the worst. Investing a few days in requirements work can cut the total much more than any rate negotiation.
Third-party integrations are another reliable source of cost. A form that saves data is easy to estimate; the same feature wired into a legacy ERP is another matter entirely. The cost lives in the third party: undocumented APIs, livewire vs alpinejs slow approval cycles, php vs java spring data that does not match your model. Ask any vendor to list every external system, since that is where the numbers slip.
Quality attributes can easily double the estimate. An internal tool used by a handful of staff costs far less than the same feature set serving public traffic. Compliance work, availability guarantees, load handling, audit logging and accessibility each add measurable effort. Put them in the brief or else expect the estimate to move later.
The mix of people behind the number changes the arithmetic. A day rate says almost nothing on its own: a senior engineer at a premium rate can be cheaper overall than two juniors who need heavy code review. Check too what else appears on the invoice: delivery management, testing, release engineering and UX design are real work, but they must be visible in the estimate.
The build price is not the full cost of ownership. Expect hosting, paid APIs, observability and an ongoing support budget each year. A useful planning figure is that a live system requires a noticeable fraction of the initial investment annually for updates, security patches and small improvements. Leaving it out of the budget is the most frequent planning error.