How much does a web application cost?

Most cost guides for web apps give you a range so wide it's useless, or a list of factors without the actual numbers. This one doesn't. Here's what separates a web app from a website, what drives the cost, realistic ranges by complexity tier, what the build process looks like, what you'll spend after launch, and when it makes more sense to buy a SaaS than to build.

By ArdinGate LLC Updated June 2026 ~14 min read

1. Website vs. web application: the real distinction

"Website" and "web application" both live in a browser, but they're fundamentally different things to build. A website displays information: pages, text, images, a contact form. It's passive. People read it. A web application does something — it acts on data. Users log in. Records get created, updated, and deleted. Actions have real-world consequences: a booking gets confirmed, an invoice gets generated, inventory gets decremented, an approval triggers an email chain.

The distinction has nothing to do with how it looks or which technology stack is underneath. It's about whether the software reads data or creates and transforms it. And that distinction is what drives the cost difference.

A few examples of where the line falls:

  • Website: a service business homepage with a contact form, service pages, and a gallery. Users browse and send a message. Nothing gets stored or acted on beyond the email.
  • Web application: a client portal where the same business's customers log in, view their project status, upload files, and see invoices. Data is created, stored, and displayed per user.
  • Website: a restaurant site with a menu page, hours, and a link to a third-party reservation tool. Static content only.
  • Web application: that same restaurant's internal operations tool — staff scheduling, supply orders, table management. Multiple user roles, business rules, and data persistence.

The reason this distinction matters for cost is that authentication, database design, business logic, and state management are each significant engineering problems. A website has none of them. A web application has all of them, and every feature that builds on top of that foundation adds more. See ArdinGate's web app development service →

2. Cost ranges by complexity tier

Web apps are quoted per project. There's no single rate card because the scope variance between projects is too large: two apps described identically can differ by a factor of ten in development hours. That said, complexity tiers are meaningful, and the ranges within each level are consistent enough to be useful for budgeting before you go into a discovery conversation.

Complexity tierEstimated cost rangeWhat this looks like
Simple internal tool $5,000–$15,000 A focused single-workflow tool: job tracking, inventory management, simple form-to-database with an admin view, staff scheduling. One or two user roles. No public-facing component. Limited integrations.
Customer-facing app $12,000–$40,000 User registration and login, per-user dashboards, a core workflow or two (booking, billing, file management), transactional email, basic admin panel. 1–3 third-party integrations. Standard scope for client portals, booking platforms, and subscription tools.
Multi-feature platform $40,000–$100,000 Multiple user roles with distinct workflows (customer, admin, vendor), real-time features, 4+ integrations, complex business logic or calculations, reporting dashboards, mobile-optimized or companion app. Often early-stage SaaS products.
Complex enterprise app $100,000+ Infrastructure for handling thousands of concurrent users across multiple client accounts, regulatory compliance for healthcare/finance/legal (HIPAA, SOC 2, PCI-DSS standards), high-volume transaction processing, detailed reporting dashboards, API connections for third-party partners, scalable infrastructure design. Typically 6–18 months of development.

These ranges assume a clear, written spec. Vague requirements — "something like Airbnb but for boats" — push any estimate higher because ambiguity has to be priced in somewhere, either as contingency buffer or as scope disputes during the build. A well-defined spec with specific workflows, user roles, and data models gets you a more accurate number and protects both sides.

A note on comparing these to website costs: A hand-coded custom website from ArdinGate starts at $1,200 for a single-page site and $2,800–$5,000 for a multi-page small-business site. Web app projects start where those leave off. The floor is higher because the engineering work is categorically different. See the full website cost guide →

3. The six main cost drivers

Web app cost doesn't come from nowhere. Every major line item on a development estimate maps back to one of these six engineering problems. Understanding them helps you figure out which features are worth the cost and where cutting scope saves real money vs. where cutting scope creates bigger problems later.

Authentication and user management

A secure login system is not a checkbox. It requires password hashing and salting, session management, brute-force protection (rate limiting on login attempts), secure password reset flows, CSRF protection, and optional multi-factor authentication. Add user roles — admin, staff, customer, read-only viewer — and you're also building a permissions system that gates every feature behind the right access level. A thorough auth implementation is commonly 40–80 hours of work before you've written a single line of business logic. It's also the part of the app that has the most serious consequences if it's done wrong.

Database design

The structure of your data matters more than most people realize going into a build, and it's expensive to fix after the fact. A bad schema design creates slow queries at scale, painful migrations when requirements change, reports that become impossible to construct, and integrity problems when related records fall out of sync. Getting it right requires upfront modeling: what entities exist, how they relate, what indices are needed, and how the data will be queried (not just stored). A well-designed schema makes the rest of the development faster. A bad one creates compounding technical debt that slows every feature built on top of it.

Business logic and workflow encoding

Every rule your business operates by has to be translated into code. Approval workflows, calculation logic, state machines (an order moves from pending to confirmed to shipped to delivered, with different rules at each transition), conditional access, automated triggers — all of it has to be written, tested, and handled correctly at the edge cases. This is usually where estimates vary the most between projects: two apps with similar UI can have wildly different amounts of business logic underneath. The more specific and complex your workflows, the higher this line item is.

Third-party integrations

Every external service your app connects to adds development work, error handling, and ongoing maintenance liability. Payment processing (Stripe, Square) is commonly 20–40 hours on its own when you include handling unexpected events like failed payments, subscription renewals, and refunds. A CRM connection, a shipping carrier API, a calendar sync, a mapping service, an accounting system — each one is a dependency you now own. These external connections also introduce failure modes that didn't exist before: what happens when the external service is temporarily down? What happens when they change their API format? These edge cases have to be built in and tested.

Admin dashboard and internal tools

The back-end interface your team uses to manage the application is frequently underestimated. It's often as much work as the customer-facing side because it needs to expose the full complexity of the data: search, filtering, bulk actions, audit logs, account management, settings configuration. Most clients cut the admin panel scope to save money and then spend more on developer time in the first six months after launch because every operational task requires a direct database query. A well-built admin panel pays for itself quickly in reduced ongoing support cost.

Real-time and asynchronous features

Live notifications, chat, collaborative editing, background processing tasks, scheduled actions, long-running exports — these features require infrastructure beyond a standard web app. Real-time messaging systems that push updates to users instantly, background task queues that process work when it's not peak traffic, and scheduled task runners for recurring operations all need separate infrastructure with their own failure modes, scaling characteristics, and operational overhead. They're not impossible, but they're not free, and they're easy to accidentally commit to by saying "we want live updates" without realizing the engineering underneath.

4. Discovery, scoping, and why it changes the number

The single most common source of web app budget surprises isn't bad actors but under-specified projects. When requirements are vague, one of two things happens: the developer pads the estimate with contingency buffer to cover ambiguity (making the quote expensive), or the developer quotes against a narrow interpretation of the requirements and the real scope emerges mid-build as scope creep (making the project overrun).

A proper discovery process prevents both. Discovery means sitting down with the people who will use the app and documenting the following: what workflows exist today, what the app needs to do differently, who the user types are, what data the app needs to store and retrieve, what third-party systems it needs to talk to, and what "done" looks like for v1 specifically. This is not the same as a sales call. It produces a written document that both sides sign off on before a price is set.

Here's why this matters to the cost: the same high-level feature can cost 10x more or less depending on specifics. "Users can message each other" could mean a simple contact form between two users (a few hours), threaded in-app messaging with read receipts (a few weeks), or a real-time chat system with file attachments and message history search (months). This upfront work—typically 10–20 hours of billed time, or included in the project scope—is almost always paid back through avoided rework.

What to bring to a discovery conversation: a list of the specific workflows the app must support (not features — workflows: "a customer logs in, sees their open orders, and can mark one as received"), the user types who need accounts, the external systems the app needs to connect to, and your timeline. The more specific you can be, the more accurate the estimate you'll get back.

Per-project quoting after a proper discovery conversation is the only way to get a number that means something. Watch out for developers who quote immediately against a vague description. The ones who pad heavily protect themselves by pricing simpler projects out of their range; the ones who quote low against narrow assumptions will call everything else a change order mid-build. A developer who asks hard questions before setting a price is doing the job correctly.

5. Build timelines by project type

Cost and timeline are related but not identical. A team of three developers can build the same app faster than one developer but not necessarily for less money — coordination overhead, communication, and code review all cost time. Here's what realistic timelines look like for different project types, assuming a solo or small-team build with a clear spec going in:

  • Simple internal tool (6–10 weeks). A focused single-workflow app with one or two user roles, a database backend, and a basic admin view. The most predictable timeline in this category because scope is usually well-defined and there are few integration dependencies.
  • Customer-facing app with accounts and a dashboard (3–5 months). Auth, user management, core workflow, transactional email, and 1–2 integrations. The range reflects whether requirements go through significant revision during development (3 months if the spec is solid, 5 months if there's iteration).
  • Multi-feature platform (5–9 months). Multiple user roles, several integrated workflows, real-time features or background jobs, and an admin panel. At this complexity level, the timeline is heavily dependent on whether decisions get made quickly. Waiting two weeks for a product question is a two-week delay.
  • Complex enterprise app (9–18 months+). Here, timeline is driven as much by stakeholder review, compliance requirements, and testing as by development velocity. Expect multiple review cycles, staged rollouts, and formal QA.

The number one thing that stretches timelines is scope change mid-build. Every new feature added after development starts has to fit into an architecture that wasn't designed for it. Sometimes that's painless. Often it requires refactoring something that was already built. This is not developer incompetence — it's the cost of not knowing what you wanted when the foundation was being laid. Define v1 clearly and stick to it. New features go into v1.1, not into the current sprint.

6. Ongoing costs after launch

The build cost is the biggest single expense, but it's not the last one. A web application has operational costs that start the day it goes live and don't stop. Budget for these before you start the build, not as a surprise after launch.

  • Server infrastructure: $20–$300/month. A small internal tool on a shared hosting server runs $20–$40/month. A production app with real users, a separate database server, automated backups, and monitoring runs $80–$200/month. High-traffic apps that need to stay live during server problems and geographic redundancy cost more. Skip the cheapest available servers for production apps: downtime costs significantly more than the hosting premium.
  • Transactional email delivery: $10–$50/month. Transactional email (confirmations, password resets, notifications) must go through a dedicated email delivery service (Resend, Postmark, SendGrid, Mailgun) for reliable deliverability. A basic mail server will land in spam. Services price by volume: small apps pay very little; large applications sending 100,000+ emails/month will pay $80–$200/month.
  • Third-party API subscriptions: varies. Whatever external services the app integrates with, you're now paying for them. Stripe takes 2.9% + $0.30 per transaction. Mapping APIs charge per request above a free tier. SMS providers charge per message sent. Background check APIs charge per query. These costs aren't usually surprising, but they need to be modeled before launch if they're usage-based, not flat-fee.
  • Maintenance and developer time: 5–15 hours/month. Security patches, dependency updates, bug fixes reported by users, small feature additions, database maintenance, and performance tuning all require ongoing developer time. A monthly retainer with a developer who knows the codebase beats emergency hourly billing at 2am. Budget 5 hours/month for a small stable app, 10–15 for one with active users and regular feature requests.
  • SSL, domain, and monitoring: $100–$200/year. SSL is free via Let's Encrypt. Domain registration runs $10–$20/year. Uptime monitoring (you want to know before your users do when the app is down) runs $10–$30/month for a basic setup. This is the smallest cost category and not worth cutting.

Total annual ongoing cost for a small-to-medium custom web app: $1,500–$5,000/year, depending on hosting tier, email volume, third-party API usage, and maintenance load. This is far less than equivalent SaaS tools once you're above a handful of users.

7. Build vs. buy: when custom makes sense

Building a custom web app is not always the right answer. There are solid off-the-shelf SaaS products for most common workflows, and paying $49/month for one of them is often smarter than spending $30,000 to replicate it. The key is figuring out which category you're in.

When SaaS is the right answer:

  • Your workflows fit what the product already does without having to customize it heavily or workaround its limitations. You're not bending your business to fit the software; the software fits how you already operate. Field service scheduling tools like Jobber, project management like Basecamp, or subscription billing like Chargebee exist because enough businesses share the same operational patterns that one product can serve them all well.
  • The per-seat or per-usage cost is manageable at your current and projected team or customer size. Run the five-year math at your expected headcount, not just the first month at launch. A $25/seat/month tool with 10 users is $3,000/year; at 200 users that same tool is $60,000/year — a number that changes the calculus.
  • You don't have strict regulatory or data-residency requirements that rule out storing your data on someone else's servers. Healthcare businesses (HIPAA regulations), law firms (client privilege), and financial services (SOC 2 audits, data residency laws) often have constraints that standard SaaS products simply can't accommodate — not because SaaS is bad, but because the vendor's shared infrastructure was never designed for your regulatory environment.
  • The feature gaps are small enough to work around, not large enough to break your workflow. A feature gap you solve with a five-minute manual step is a feature gap. A gap that requires re-entering data from one system into another every day, or that prevents you from automating a core business process, is a signal to look elsewhere.

When custom wins:

  • Your workflow is specific enough that you're duct-taping four or five SaaS tools together with Zapier to approximate it, and the whole thing breaks whenever any one of those tools changes their API, pricing, or feature set. This is a common trap: the Zapier glue costs $0 to set up and $50,000 in hidden operational fragility over three years.
  • Per-seat fees compound past the build cost at scale. A SaaS tool at $50/user/month with 100 users is $60,000/year. A custom solution built for $40,000 with $3,000/year infrastructure costs breaks even in under 14 months and owns the asset permanently.
  • Your data model is specific enough that you're constantly mapping your entities into the SaaS product's field structure. If you spend more than a few hours configuring a CRM, an ERP, or a project management tool before it resembles your actual business — that's friction that will never go away, because the product's data model was designed for someone else.
  • Competitive differentiation depends on the workflow itself. If the way your business operates is the thing you're selling — a proprietary underwriting model, a specialized dispatch algorithm, a unique client experience — you cannot build that moat on a platform that also sells it to your competitors.
  • You've already been through the SaaS cycle. You bought the product, configured it, trained the team, and discovered that the 20% of your workflow it doesn't support is eating 40% of your team's time in workarounds. That's usually the clearest signal that custom is the right answer, because you now know exactly what to build.

The build-vs-buy question isn't ideological. Developers who say SaaS is always wasteful are wrong. SaaS vendors who claim custom development is always slower and more expensive are also wrong. The right answer depends on your workflow, team size, data requirements, and five-year economics. What you need before committing to either is a developer who can compare the two objectively, not one who only builds custom apps and sees every problem as a build opportunity.

8. Key takeaways

  • A web application has business logic that acts on data: users log in, records get created and modified, actions trigger concrete outcomes. A website just displays information. That distinction is what drives the cost difference.
  • Simple internal tools run $5,000–$15,000. Customer-facing apps with user accounts and dashboards run $12,000–$40,000. Multi-feature platforms run $40,000–$100,000. Complex enterprise apps run $100,000+. All of these assume a clear, written scope.
  • The six main cost drivers are: authentication and user management, database design, business logic, third-party integrations, admin dashboards, and real-time or async features. Understanding which of these your app needs tells you a lot about where your budget is going.
  • Scope ambiguity is the single biggest source of budget overruns. A proper discovery process — documenting workflows, user roles, data models, and integrations before any code is written — pays for itself in avoided rework.
  • Ongoing costs after launch run $1,500–$5,000/year for a small-to-medium app: server infrastructure, email delivery, third-party API subscriptions, and maintenance time. Budget for these before the build starts.
  • SaaS wins when your workflow matches the product and the per-seat economics work at your scale. Custom wins when the workflow is specific, the per-seat fees compound past the build cost, or data ownership and compliance requirements rule out third-party storage.
  • Web apps are quoted per project after a discovery conversation, not from a price list. Any developer willing to quote a fixed price against a vague spec is either padding heavily or planning to dispute scope mid-build.

9. Common questions

A website displays information passively: pages, text, images, maybe a contact form. A web application has business logic that acts on data. Users log in, records get created and modified, actions trigger concrete outcomes — a booking gets confirmed, an invoice gets generated, inventory gets decremented, an approval email goes out automatically. The distinction isn't about the technology stack or how it looks in a browser. It's about whether the software is passive or active, and whether it reads static content or creates and transforms user-specific data. Most businesses that think they need a "website with some features" actually need a web app the moment user accounts and persistent data enter the picture.

Yes, and for most projects this is the right call. Building the core workflow first — the one thing the app absolutely must do well — keeps initial cost manageable and lets you validate the concept before investing in every feature you might eventually want. The critical word is "well-architected": a foundation built to expand is very different from one built with shortcuts. The difference shows up 12 months later when adding user roles or a new integration requires rewriting 40% of the app instead of adding a module. Before starting, ask your developer explicitly how they structure apps for extensibility. Their answer tells you whether you're paying for a foundation or a patch job.

A simple internal tool with a focused scope: 6–10 weeks. A customer-facing app with user accounts, dashboards, and a few integrations: 3–5 months. Complex platforms with multiple user roles, real-time features, and heavy third-party integrations: 6–12 months or more. These assume a well-defined spec before development starts — every hour of discovery and scoping saves three hours of rework during the build. Scope changes mid-build are the single most common reason timelines stretch. Apps that ship on schedule almost always had a detailed requirements document signed off before the first line of code was written.

Scope variance between projects is too large for any fixed rate card to work fairly. Two apps described as "user accounts and a dashboard" can differ by a factor of ten in development hours. One has 30 well-defined fields and three simple workflows. The other has seven user roles, five integrations, two years of domain-specific business rules encoded in conditionals, and compliance audit trails. Publishing a price without seeing the spec would either be padded with buffer to protect the developer (unfairly pricing out simpler projects) or be low and lead to disputes mid-build. Per-project quoting after a real discovery conversation is the only approach that produces a number both sides can trust.

Server hosting is the biggest variable: a small app on a VPS runs $20–$80/month; production apps with real users and uptime requirements generally run $80–$200/month. Transactional email via a dedicated service adds $10–$50/month. Third-party API subscriptions (payment processors, mapping, SMS) cost their standard rates; model usage-based ones before launch. Maintenance and bug fixes after launch run 5–10 hours/month for a moderately active app, roughly $500–$1,500/month at standard rates unless you negotiate a retainer. Budget all of these before you start building, not as surprises after launch.

SaaS wins when your workflow matches what the product does, per-seat costs stay manageable at your current and projected scale, and you lack compliance or data-residency constraints. Custom wins when your workflow is specific enough that you're duct-taping five tools with Zapier, when per-seat fees compound past the build cost, when data ownership or compliance rules out third-party storage, or when competitive advantage depends on capabilities no standard product offers. The costliest mistake is building something custom that a $49/month SaaS already does well. The second-costliest is paying $8,000/month in SaaS fees for something you could have owned outright for $30,000.

Have a web app idea? Let's talk scope.

Describe what the application needs to do: the workflows, who uses it, what data it touches, what it connects to. You'll get a realistic written scope and a fixed quote — not a range with a surprise invoice at the end.

Start the conversation