Short answer: with a senior team in a lower-cost region, a marketing site with real logic behind it typically costs $10,000 to $24,000, a dashboard or portal with logins and an integration $28,000 to $60,000, and a full web product with several roles and payments $60,000 to $120,000 or more. Domestic agencies in the US, UK, Canada or Australia commonly quote around three times those figures for the same scope. The first job is working out which of the three you are actually building.
About these numbers. The ranges here are planning estimates derived from typical effort and typical market rates. They are not survey data and not a BBR price list. Use them to sanity-check quotes and to decide what belongs in a first release. A real quote needs a written scope.
The method in one paragraph
Cost = effort (person-weeks) × blended weekly rate + contingency. Regional rates and team types are compared in our MVP cost guide's rate table. This article uses two reference points throughout: $50 per hour (about $2,000 per person-week) for a senior studio in Central or Eastern Europe or Türkiye, and $150 per hour (about $6,000 per person-week) for a domestic US, UK or Australian agency.
Three types of web app
| Type | What it is | Typical effort | At $50/hour | At $150/hour |
|---|---|---|---|---|
| Marketing site with logic | Public pages plus something that calculates, books, quotes or takes a simple payment. Few or no user accounts. | 5–12 person-weeks | $10,000–$24,000 | $30,000–$72,000 |
| Dashboard or portal | Users log in to see and act on their own data. A few roles, an admin area, often one connection to an existing system. | 14–30 person-weeks | $28,000–$60,000 | $84,000–$180,000 |
| Full web product | The application is the business or a core channel of it. Several roles, payments, search, notifications, a back office, integrations. | 30–60+ person-weeks | $60,000–$120,000+ | $180,000–$360,000+ |
Two boundaries are worth marking. If you plan to sell the application to many organizations by subscription, with each customer's data kept separate, plans and billing, you are building a SaaS product, which needs additional machinery; use our SaaS cost guide with tenancy and billing blocks instead. And if the hard part is your existing systems, data and internal process, the cost guide for custom business software is the closer match.
Effort by building block
Figures assume an experienced team, a mainstream stack and a standard interface, with backend and front end counted together.
| Building block | Basic version | Advanced version |
|---|---|---|
| Public pages with a CMS | 1–2 person-weeks | 3–5: many templates, localization, content workflows |
| Forms with logic (calculator, quote, multi-step application) | 0.5–1.5 | 2–4: branching rules, saved progress, pricing tables an admin can edit |
| Accounts and authentication | 1–2: sign-up, verification, reset, profile | +1–3 for single sign-on or enforced multi-factor |
| Roles and permissions | 0.5–1: two or three fixed roles | 2–5: per-record access, approvals |
| Core workflow | 3–8 for one focused workflow | 10–20+ for availability engines, rules, multi-step processes |
| Dashboards, tables and charts | 1–2: fixed views, CSV export | 3–6: filtering, saved views, large datasets |
| File upload and documents | 0.5–1 | 2–3: previews, versioning, generated PDFs, virus scanning |
| Payments | 1–2: one-off payment through a hosted checkout | 3–5: deposits, refunds, saved cards, invoices |
| Search and filters | 0.5–1.5 | 2–4: full-text search, faceted filters, maps |
| Real-time updates or chat | 1–2: live status changes | 3–5: messaging with history, presence, attachments |
| Each third-party integration | 0.5–1.5: one-way, documented API | 2–4: two-way sync, OAuth, rate limits |
| Email and SMS notifications | 0.5–1 | 1.5–3: preferences, reminders, digests |
| Admin panel / back office | 1–2: manage users and records | 3–5: refunds, content moderation, audit trail, support tools |
| Accessibility, SEO and performance work | 0.5–1: sound defaults | 2–3: formal accessibility audit and fixes, several languages |
| Interface design | 1.5–3 on a component library | 4–7 with a custom visual system |
| Infrastructure, CI/CD, monitoring, backups | 0.5–1.5 | 2–4 with staging parity and stricter security controls |
| Testing and project management | Add 20–30% to the total. Not optional. | |
The admin panel is the block most often missing from a founder's feature list. Somebody has to correct a booking, refund a payment or disable an account, and without an admin area that somebody is a developer at an hourly rate.
Three worked examples
1. Marketing site with a quote calculator and booking
A home-services company wants a fast public site, a multi-step calculator that produces an indicative price, appointment booking tied to the team calendar, and leads pushed into the CRM.
| Block | Person-weeks |
|---|---|
| Public pages with CMS | 2 |
| Multi-step calculator with editable pricing | 2 |
| Booking with calendar integration | 1 |
| CRM integration | 1 |
| Email notifications | 0.5 |
| Design | 2 |
| Infrastructure, SEO and performance | 1 |
| Subtotal | 9.5 |
| Testing and project management (+25%) | about 2.4 |
| Total | about 12 |
Roughly $24,000 at $50 per hour and $72,000 at $150 per hour. Half of this is the calculator and the integrations. If a simple contact form would serve for now, a site builder gets you the public pages for a fraction of the cost; see when no-code is the right tool.
2. Client portal for a professional services firm
Clients log in to exchange documents and follow the status of their cases. Staff manage cases and requests. Client records come from the firm's existing practice system through a one-way feed.
Accounts: 1.5. Two roles: 1. Case workflow: 5. Document exchange: 1.5. Dashboard: 1.5. Practice-system integration: 1.5. Notifications: 1. Admin panel: 1.5. Design: 2.5. Infrastructure: 1. Subtotal 18; with 25% for testing and management (4.5), 22.5 person-weeks. Roughly $45,000 at $50 per hour and $135,000 at $150 per hour.
3. Full product: online rental booking for a single operator
An equipment rental company wants customers to check live availability, book, pay a deposit and manage their rentals, while staff manage inventory, pricing rules and handovers. Because there is one operator and no multi-tenancy, this is a web product and not a SaaS platform.
Public pages: 2. Accounts: 2. Roles (customer, staff, admin): 1.5. Availability, booking and pricing rules: 13. Search and filters: 2. Payments with deposits and refunds: 3. Live availability updates: 2. Two integrations (accounting, SMS): 2.5. Notifications: 2. Back office: 4. Reporting: 2. Design: 5. Infrastructure: 2. Subtotal 43; with 25% on top (10.75), about 54 person-weeks. Roughly $108,000 at $50 per hour and $324,000 at $150 per hour.
A leaner first release is available here: take bookings online but collect deposits by payment link, skip live updates and ship one integration. That removes about 3 + 2 + 1 = 6 person-weeks from the subtotal, which becomes 37, or about 46 with testing and management: roughly $92,000 at the lower rate.
What pushes the cost up
- Every additional role. Each role has its own screens, permissions and test cases.
- Rules with exceptions. Pricing, availability and eligibility logic is cheap to describe and slow to make correct.
- Two-way integrations. Keeping two systems in agreement costs several times what reading from one does.
- Custom visual design and animation. Valuable on a public marketing site, rarely on a logged-in dashboard.
- Formal accessibility, several languages, several currencies. Each is reasonable; each touches every screen.
- Vague scope. Uncertainty is priced as risk margin. A short written brief lowers quotes; our project brief template shows what to include.
What it costs to run
Rough planning ranges for an application with up to a few thousand users. Providers change pricing, so check current terms.
| Item | Planning range | Notes |
|---|---|---|
| Hosting and database | $20–$300 per month | Higher for data-heavy applications or strict uptime requirements |
| Domain and DNS | $10–$50 per year | |
| Transactional email and SMS | $0–$100 per month | SMS is priced per message and varies by country |
| Error tracking and uptime monitoring | $0–$100 per month | Free tiers cover many small applications |
| File storage, backups, CDN | Usually under $50 per month at first | |
| Hosted CMS, maps, search or other metered services | $0–$200 per month | Check pricing at ten times your expected usage |
| Payment processing | A percentage of each transaction plus a fixed fee | Set by the provider |
| Maintenance | 15–25% of the build cost per year | Security and dependency updates, fixes, small changes |
For a $45,000 portal, that maintenance line is $6,750 to $11,250 a year, which for a small application is usually more than the infrastructure lines combined. What the work consists of is described in our guide to budgeting for maintenance after launch.
Where the money is wasted
- Custom-building the brochure. Hand-coded marketing pages that a CMS or site builder would have handled, leaving less budget for the part that is actually an application.
- Building what can be rented. Authentication, payments, email delivery, search and file storage are mature services. Writing your own costs weeks and adds risk.
- Architecture for imaginary traffic. Microservices, container orchestration and multi-region hosting for an application with a few hundred users. A single well-structured application on one database carries most businesses for years.
- A separate mobile app too early. A responsive web app covers most first releases on every device.
- Pixel-perfect dashboards. Logged-in users value speed and clarity. A good component library delivers both.
- No admin panel. The saving is one to two weeks. The cost is a developer performing data corrections by hand indefinitely.
- Configurable everything. Settings screens for rules that have only ever had one value.
- Changing direction mid-build without re-scoping. Change is normal; budget a 10–15% contingency and price each change before it is built.
How to get comparable quotes
- Name the type. Marketing site with logic, portal, or full product. It sets expectations on both sides.
- List roles and what each can do. This is the fastest way for a team to size the work.
- List integrations and whether each system has a documented API.
- Ask for line items. Design, admin panel, testing, deployment and documentation should appear explicitly.
- Ask what is excluded and what monthly support costs after launch.
- Confirm ownership. Source code, hosting accounts and third-party accounts should be in your company's name.
If you want BBR to look at your scope, the web application development page explains how we scope, price and hand over. For the stack we typically use and why, see React and Next.js development.
