The most expensive quote you will ever send is the one you sent too early.
An unclear project does not stay unclear. It resolves into specifics after you have committed to a price, and the specifics are never smaller than what you imagined. You priced the best-case version; you deliver the real one.
This guide gives you a counting rule that tells you when a project is quotable, four common unclear-brief scenarios, and the exact discovery scripts for each. Steal the scripts.
Why Vague Briefs Get Underquoted
Three forces work against you every time you price an unclear project:
Optimism bias. With no specifics to contradict you, your brain fills the gaps with the easy version. "A website" becomes "a five-pager like the last one" in your head, and "a booking system with three user roles" in reality.
Anchoring. The client said "we were thinking around $2k" or "should be pretty simple," and every estimate you build afterward gravitates toward that anchor, even when the work does not fit it.
Loss aversion. Asking questions feels like friction, and friction feels like losing the job. So you skip the questions and absorb the risk instead. The risk does not disappear, it just moves onto your side of the table with no price attached.
You cannot remove these forces with willpower. You remove them with a counting rule that decides for you.
The Unknowns Threshold Rule
Before quoting anything, check the brief against six slots:
| Slot | The question it answers | |---|---| | Deliverables | What exactly ships? How many pages, screens, assets? | | Timeline | When is it due, and is the deadline real or a wish? | | Budget | Has any range been named, even a rough one? | | Platform / tech | What is it built in or on? What already exists? | | Dependencies | What do you need from the client or third parties to proceed? | | Revisions | How many rounds does the client expect? |
Count the slots you cannot answer from the message in front of you. Then apply the rule:
- 0-1 unknowns: quote a fixed price. The brief is real.
- 2-3 unknowns: quote a conditional range, never a single number, with the assumptions written down next to it.
- 4+ unknowns: do not quote. Anything you say now is a guess the client will treat as a promise. Run discovery first.
That last case feels uncomfortable, so here is the reframe: refusing to quote yet is not stalling, it is the quote. "I need three answers before I can price this responsibly" tells the client you have done this before. If that reads as slow to them, see red flags in client briefs for what that signals.
Now the scenarios.
Scenario 1: "We need a website. What would that cost?"
Unknowns: all six. This is the classic. There is no honest number you can attach to this sentence, and any number you send anyway becomes the ceiling for every later negotiation.
What to send instead:
Happy to price this properly. Websites I build range from $2,500 for a focused marketing site to $15,000+ for anything with e-commerce or custom features, so the details matter. Three quick questions:
- What should the site do for the business: bookings, sales, leads, credibility?
- Roughly how many pages or sections do you have in mind?
- Is there a budget range you are working within: under $3k, $3-8k, or above?
With those answers I can send you a real quote instead of a guess.
Why it works: the wide range educates the client that "a website" is not one product, the three questions are answerable in two minutes, and the budget brackets let them reveal a number without feeling interrogated. This is the same bracket technique covered in how to handle vague client requests.
Scenario 2: "Redesign our app. We have Figma files."
Unknowns: dependencies, revisions, timeline. Deliverables look clear because Figma files exist, but files are where dependency risk hides: are they current? Complete? Does anyone on the client side have authority to approve deviations from them?
What to send:
Great starting point. Before I quote, I need to look at the files with three things in mind:
- Are these final-approved designs, or a direction that will still evolve while I build?
- Which screens or flows are in scope: everything in the file, or a subset?
- Who signs off on the result, and how many review rounds are you planning for?
If the designs are stable and scope is the full file, I can quote fixed. If they are still moving, I will quote a range and we lock it when the designs lock.
Why it works: "designs that will still evolve" is one of the most reliable underquote patterns there is. Naming it before pricing converts a silent risk into a written condition. If you have been burned by this before, run your last few projects through the patterns in the underquoting audit.
Scenario 3: "Basically like [competitor], but simpler."
Unknowns: deliverables (disguised), budget, revisions. This brief sounds specific because it points at a real product. It is actually the most dangerous of the four, because "like X" imports every feature of X into the client's expectations, while "simpler" caps the price in their head.
What to send:
That reference helps, thanks. One thing I want to flag early: [competitor]'s site/app has a lot under the hood (their search, accounts, and checkout alone are months of work). "Simpler" can mean very different budgets depending on what stays and what goes. Can you list:
- The 3 things from [competitor] this absolutely must have?
- The things you are happy to live without?
- The budget range this needs to fit?
Then I can tell you what is realistic inside that range, and what would need a phase two.
Why it works: it forces the client to convert a vibe ("like X but simpler") into a ranked list, and it introduces phasing before price pressure starts, instead of after.
Scenario 4: "Urgent landing page, need it by Friday."
Unknowns: everything except timeline. Urgency compresses your judgment. The deadline feels like the whole brief, so you quote fast to be helpful, and the missing details surface on Wednesday.
What to send:
Friday is doable if we lock scope today. For a rush build I need, by end of day:
- Final copy and any brand assets (logo, colors, images)
- One clear goal for the page: signups, bookings, downloads?
- One review round on Thursday, not rolling feedback
Rush timeline pricing is $X, which includes the compressed schedule. If the copy or assets are not ready today, Friday moves, or we launch with placeholders and revise next week.
Why it works: it makes the rush fee explicit instead of absorbed, converts "urgent" from pressure into conditions, and pre-limits revisions, which is where rush projects actually die. The single review round is not stinginess, it is the only way Friday happens.
Sending a Range That Doesn't Become a Commitment
For the 2-3 unknown cases, the range itself is not what protects you. The conditions are. Every range you send should sit inside this frame:
Based on what I know today, this lands between $4,000 and $6,500.
That assumes: (1) up to 6 pages, (2) copy provided by you, (3) two revision rounds, (4) no third-party integrations beyond a contact form.
If any of those change, the number changes with them. I will confirm a fixed price once we have locked the page list.
Clients will remember the low number, always. The written assumptions are what let you reopen the price without it feeling like a bait-and-switch. Pair this with the deeper pricing math in pricing freelance projects without losing money.
The Test Before You Hit Send
One last check before any quote leaves your outbox: could a stranger read this brief plus your quote and know exactly what is included, what is excluded, and what happens when the client asks for more? If not, you have not written a quote. You have written an opening bid against yourself.
Count the unknowns. Quote the range with conditions, or ask the three questions first. The clients worth having will answer them.
Try the free tool
This article walks through the problem; the free tool turns the answer into a copy-pasteable output in 30 seconds. No account, no signup.
→ Use the Client Brief Checker
Want this across every project?
Briefance saves every brief, scope check, change order, and revision counter against the client and project. Free plan: 3 briefs/month.