We get this question almost every week, often from founders who were burned before. A quote that looked cheap at first turned into a ballooning invoice once the real scope became clear. We do not hide behind vague ranges or upsell language. Below is exactly what we charge, what drives the number up or down, and how to compare quotes fairly so you do not end up in the same situation.
What we charge by project type
These are 2026 USD ranges for a full custom build — design, development, testing, launch, and a basic handoff. They assume standard US/UK/EU labor rates, no exotic hardware, and a single-language site unless noted.
A simple landing page — one scroll, a form, a few images, no CMS — typically runs $1,500 to $4,500. We have delivered clean single-page sites at the lower end when content is ready and design decisions are fast. When the brand requires custom illustration, animation, or multi-language copy, we move toward the upper end.
A marketing site — five to fifteen pages, a CMS, a contact or booking flow, basic SEO setup — falls between $6,000 and $18,000. At $6,000 we are talking about a lean build with a lightweight CMS like Kirby or a well-structured WordPress setup. At $18,000 we include custom page templates, a design system, content migration from an old site, and performance tuning.
An e-commerce site — product catalog, cart, checkout, payment integration, basic inventory — starts around $10,000 and can reach $35,000. The lower end is a standard Shopify custom theme or a WooCommerce build with a limited SKU count. The upper end is a headless commerce setup with custom checkout logic, multi-currency, and integration with an ERP or fulfillment service.
A custom web app — user accounts, dashboards, APIs, real-time features — starts at $20,000 and climbs quickly. We have delivered focused internal tools at $22,000 and multi-tenant platforms well past $80,000. The price depends almost entirely on how many user roles, data relationships, and third-party integrations we need to support.
What drives cost up or down
Not every project needs the same level of depth. We break it down so you can see where the hours go.
Design iterations. A landing page with a single design review takes fewer hours than a marketing site where the brand direction shifts after the first mockup. We budget two design rounds by default; anything beyond that is billed at our hourly rate or folded into a revised milestone.
CMS choice. WordPress is faster for standard content sites; a headless CMS or custom backend takes longer to configure but gives more control over performance and data structure. We discuss this in our services page before we quote, because the wrong CMS creates maintenance debt.
Content volume. Ten pages of copy and images we receive on time cost less than forty pages we need to write, restructure, or migrate from a broken export. We ask for content before development starts. When it arrives late, timelines shift.
Performance targets. A marketing site that needs to score 95+ on Lighthouse mobile takes longer than one that meets basic usability standards. We include baseline optimization in every quote; aggressive targets — sub-two-second load times, heavy animation without layout shift — add hours for testing and tuning.
Integrations. Connecting Stripe, Mailchimp, or a CRM is usually straightforward. Connecting a legacy accounting system through a poorly documented SOAP API is not. We ask for documentation up front. If it does not exist, we budget discovery time separately.
Timeline urgency. A standard landing page takes two to three weeks. A marketing site takes four to eight weeks. An e-commerce site takes six to twelve weeks. A custom web app takes eight to sixteen weeks or more. If you need it faster, we can add capacity — at a premium — but we will not cut testing or accessibility review to meet an arbitrary deadline.
How we structure quotes and payments
We quote fixed-price milestones for anything with a clear scope. For exploratory work — a new feature set, an unclear integration — we quote a discovery phase first, usually $2,000 to $5,000, followed by a fixed-price build quote once the scope is defined.
Payment is split by milestone, not by calendar month. A typical structure is 40% deposit to start, 30% at design approval, 20% at launch, and 10% after a two-week warranty period. We do not ask for the full amount up front, and we do not invoice for undefined work.
If scope changes mid-project — new pages, new integrations, new design direction — we pause, document the change, and issue a revised quote. We have seen too many relationships break down because a small request turned into a large unbilled assumption. We avoid that by putting every change in writing.
How to compare quotes fairly
When you receive a quote for $3,000 and another for $14,000 for what looks like the same marketing site, one of them is missing something. Usually it is one of these:
- Content. Does the quote include copywriting, image sourcing, or content migration? If not, you are doing that work yourself or paying for it later.
- CMS training. Can you update the site without calling the developer? If there is no CMS, or no documentation, you are locked in.
- Performance and accessibility. A site that loads in eight seconds and fails basic screen-reader navigation is not the same product as one optimized and audited.
- Maintenance and warranty. What happens if a plugin breaks after launch? We include a two-week fix window; some quotes include nothing.
- Hosting and domain. Some quotes bundle hosting; others leave it to you. We clarify this before we start.
We also recommend looking at past work. Our work portfolio shows completed builds with the same transparency. If a developer cannot show real sites, ask why.
A note on the anxiety behind this question
We understand why this feels risky. You have probably been burned by a quote that seemed cheap but ballooned later, or by a project that started with big promises and delivered a half-functional site. We have cleaned up enough of those situations to know the pattern: unclear scope, no milestone structure, and a developer who is afraid to say no to new requests.
We address it directly. We write scope clearly, we quote fixed milestones, and we say when something is out of scope. If you need a second opinion on a quote you already have, we are happy to review it. Reach us through our contact page and we will tell you what is missing, what is overpriced, and what looks right. No obligation.
If you are ready to discuss your project, we also publish regular insights on pricing, technology choices, and maintenance practices. You can explore more in our insights section.