Integrations with third-party systems, role-based permissions and multi-tenancy, the number of distinct user journeys, and whether the client has a defined spec or needs discovery included in the engagement.
Integrations are the biggest single driver of cost variance. A standalone system with no external connections is the simplest possible build. Every third-party API you add — payment gateway, ERP, logistics platform, email provider, reporting tool — adds integration work that compounds. The integration work isn't just connecting the APIs; it's handling the edge cases, the error states, the rate limits, the schema mismatches between your data model and theirs. A system with 10 integrations costs significantly more than 10 times a system with 1 integration, because the combinations and dependencies multiply.
Role-based permissions and multi-tenancy are the second biggest driver. A single-role system where all users see the same data and have the same capabilities is straightforward. A system with five user roles — admin, manager, staff, auditor, external partner — each with different data visibility and different action permissions, is five times more complex to design, build, and test. Multi-tenancy (where multiple organisations share the same system with complete data isolation) adds another layer on top of that.
The number of distinct user journeys drives UI complexity. A system where all users do essentially the same thing has one UX to design and build. A system where admins configure the system, managers approve workflows, staff perform operations, and customers see a self-service portal has four distinct UX surfaces, each of which needs its own design, build, and QA pass.
Finally, whether the client has a defined spec or needs discovery is a direct cost: a proper discovery phase — workflow mapping, data modelling, architecture review — typically adds $5,000–15,000 to the project cost and 3–4 weeks to the timeline. It's not optional for a complex build. It's the work that prevents a $60,000 build from turning into a $100,000 one because the specification changed mid-build.