If you've ever sent a project description to three developers and gotten quotes of $3,000, $12,000, and $28,000, your first instinct might be that someone is lying. Someone is overcharging. Someone is underqualified.

Usually, none of that is true. The quotes are different because each developer imagined a different project.

Why quotes vary so much

When a brief is vague, developers fill in the blanks with their own assumptions. One assumes a simple template-based site. Another assumes a custom-designed, fully responsive build with animations. A third assumes a CMS, two integrations, and a staging environment.

They're all technically quoting "a website." They're quoting three completely different projects.

The variation in quotes is mostly a reflection of the variation in what they're imagining. Until the project is specified in enough detail that everyone is imagining the same thing, the numbers won't be comparable — and the lowest quote has a high probability of coming back as a much larger number once the real scope becomes clear.

What needs to be in your brief

A useful brief gets specific enough that a developer can't reasonably assume the wrong thing. That means:

List every page or feature you know you need. Not "a website with some pages." "Homepage, about page, services page with five individual service sub-pages, team page, blog with category filtering, contact form." That level of specificity means estimates are scoped to the same deliverables.

Describe functionality, not just pages. There's a big difference between "a contact form" and "a contact form that notifies three team members, logs submissions to a spreadsheet, and sends an auto-reply to the person who submitted." Both are "a contact form" — but one is thirty minutes of work and the other is three hours. Be explicit about what things need to do, not just what they need to be.

Say what you're providing versus what they need to build. Are you writing the copy? Providing photos? Or do you need the developer to source those? Is there an existing brand guide, or does that need to be created? Every deliverable the developer has to produce adds time.

Mention any integrations. CRM, email platform, booking system, payment processor, analytics. Integrations add scope and complexity. A developer who doesn't know about them will give you a quote that doesn't account for them.

Give a budget range. I know this feels like it gives away your negotiating position. It doesn't. A budget range tells a developer whether to propose a custom-designed solution or a well-configured template approach. Without it, you'll get proposals that solve your problem at very different price points, and you'll have no basis for comparison. Writing a good brief is really the same skill applied at two different stages.

The questions to ask with every quote

When you receive a quote, ask:

  • "What assumptions did you make that aren't explicitly in the brief?"
  • "What would cause this number to increase?"
  • "What's included in revisions, and how are changes outside scope handled?"

The answers will tell you more than the number itself. A developer who can answer these clearly has thought about your project. One who can't may be quoting a version of it they haven't fully thought through.

The difference between a quote and an estimate

Quotes are fixed numbers. Estimates are ranges with assumptions attached.

A fixed quote on a poorly defined project is either padded to cover uncertainty (more expensive) or optimistic about scope (likely to come back with change orders). An honest estimate with documented assumptions is more useful — it tells you what the number is based on and where it might move.

If a developer gives you a very confident, very specific number on a vague brief, ask how they arrived at it. The answer should reference specific scope items, not just intuition.

What a useful quote looks like

A good quote breaks down cost by phase or deliverable, documents the assumptions it's based on, and notes what would change the number. It might not be the shortest response you receive — but it's the one that means something.

If you're getting quotes all over the map, take that as a signal to tighten up the brief before you send it out again. The clarity you put in upfront comes back as comparable, trustworthy numbers.