I have watched 11 first-time freelance projects die this year.
Not because the work was bad. Not because the clients were unreasonable. Because of one pattern that I now recognize instantly: the freelancer gave a quote in writing before fully understanding the deliverable.
The fix is 5 questions. I've used these for two years and have not lost a project to scope-creep since.
Why most projects blow up before they start
The typical freelance sales conversation goes:
Client: "I need X. How much?"
You: "$X."
Client: "Sounds good. Let's start."
What just happened? You made a bet about effort, deliverables, and risk without enough information to price it. The client assumed you understood what they actually wanted. You assumed the same thing. Both of you were wrong.
Then three weeks in, the client wants feature Y. You didn't quote for it. The conversation about whether it's in-scope is now adversarial.
The 5 questions
I ask these before sending any quote. Sometimes as a synchronous 15-min call, sometimes as an async email. Always before numbers.
1. What does success look like when this is done?
Not "what do you want me to build" — that's an implementation question. The success question forces the client to articulate the outcome they care about. Often the answer is "we want our customers to do X faster" or "we want this report to take 10 minutes, not 2 hours." That's a spec. From there, the implementation question has multiple valid answers.
If the client can't answer this, the project isn't scoped enough to quote. Stop and help them get clear before you put a number on it.
2. What does the worst acceptable version look like?
This is the anti-mullet question. The mullet: business in the front, party in the back. The question: front of house is the success case, back of house is what you'd ship if you had half the time.
Most clients, when pressed, will say something like "honestly, if I just had the CSV export and the email digest, I'd be happy." That's now your MVP. Quote that. If the client wants more, the upsell is a separate conversation.
3. What have you already tried?
If the client says "we tried an intern" or "we tried Upwork," you've just learned:
- They have a budget (they paid someone already)
- Their previous solution failed (you'll succeed where they failed = positioning)
- The cost of the failure (the upwork dev cost them $X, the intern cost them Y weeks)
Use this in your quote: "I see you tried X — here's what I'd do differently."
If the client says "we haven't tried anything," you now know the project is exploratory. Adjust scope and timeline accordingly. Exploratory projects should be quoted time-and-materials, not fixed price.
4. Who else is this for?
A script for a single-user use case is fundamentally different from a script for a team of 50. Same logic. Different access controls, different audit logging, different error handling, different UI.
If the client says "just me," great — you can ship in a weekend. If they say "the whole ops team," add 4-8x effort for the proper access controls, documentation, and testing. Quote accordingly. Don't ask "how many people" — ask "who else will see or use this?"
5. What's the deadline really driven by?
There are exactly four reasons for a deadline:
- External — "the board meeting is March 15" (real, immovable)
- Internal — "we'd like it before Q2" (negotiable, often soft)
- Anxiety — "we've been without this for 6 months" (urgent in feeling, not in time)
- Genuine later — "no rush, we just want it eventually" (no deadline)
Each category gets a different treatment. External deadlines get milestone-based pricing with rush fees. Internal deadlines get realistic timeline quotes. Anxiety deadlines get empathy + reassurance + a "we can start Monday" close. Genuine-later means your quote can be high-margin — they're not in a rush, so quality matters more than speed.
If you don't ask this question, you'll quote the same way for all four. You'll lose the genuine-later jobs to cheaper freelancers, and you'll underprice the external-deadline jobs.
How to actually run this conversation
I ask question 1 first, in writing, before any call. The answer to question 1 determines whether the rest are worth asking. If they can't articulate success, stop and help them.
Then I batch questions 2-5 into a 15-minute call. Recorded (with permission). The recording becomes your scope-of-work document. When the client later says "I thought this was included," you send the recording timestamp.
Yes, recordings are awkward. Yes, every client has agreed once I explained it.
What this changes
Before I started asking these: win rate ~40%, scope-creep ~60% of projects, average project margin 25%.
After: win rate ~55% (better clients, fewer tire-kickers), scope-creep ~10%, margin 55%.
The math is simple: charging 30% more and losing fewer projects to scope-creep is a 2x revenue swing.
If you've ever ended a freelance engagement feeling like you worked 60 hours for 30 hours of pay — the answer wasn't "find better clients." The answer was ask these 5 questions, every time, before quoting.
I write Field Kit 02 — 118 Cursor prompts for Python freelancers who are also the head of sales, marketing, and bookkeeping for their one-person shop. Grab the free 10-prompt sampler or the full kit.
Top comments (0)