A practical, step-by-step approach to writing proposals for Upwork, Fiverr requests, and cold outreach — plus how to use ChatGPT without sounding like everyone else.
If you're new to freelancing, the proposal is where most of your effort goes and most of your frustration comes from. You find a job that fits, write something thoughtful, hit send — and hear nothing. Repeat twenty times and it starts to feel personal.
It usually isn't personal. It's structural. Clients reviewing a popular job may skim dozens of proposals, and most look the same: a greeting, a summary of your background, a list of skills, and "I'd love to work with you." When everything looks the same, the client skims everything and remembers nothing.
This article walks through a proposal structure built around how clients actually read, and shows how to use ChatGPT to draft faster without producing the generic text clients have learned to ignore.
How clients actually read proposals
Put yourself on the other side. A client posted a job because they have a problem and limited time. When they open the list of proposals, they're mostly scanning the preview — often just the first line or two — and asking one question: does this person understand my problem?
That has three consequences:
- Your first sentence carries most of the weight. If it's about you ("I'm a passionate designer with 5 years of experience"), it reads like every other proposal.
- Specificity signals attention. Mentioning a detail from their post proves you read it. Generic text proves you didn't.
- Shorter usually wins. A client wants enough to decide whether to reply, not your full life story. The goal of a proposal is a reply, not a hire.
That last point is the mindset shift that matters most. You aren't trying to close the deal in one message. You're trying to start a conversation.
The five-part proposal structure
Here's the structure. Each part is short — the whole proposal often fits in 120–200 words.
1. The hook: restate their problem in your words
Open with their situation, not your résumé.
"You need your Shopify product pages rewritten before the holiday sale, and the current descriptions are mostly supplier copy."
This one sentence tells the client you read the post, understood the deadline, and noticed a detail.
2. The insight: one useful observation
Give a small piece of value up front — an observation, a quick idea, or a question that shows expertise.
"I looked at your store — the descriptions for your top three products don't mention sizing, which is usually the first question buyers ask in reviews."
Only say this if you actually looked. A real observation is gold; a fake one is easy to spot.
3. The plan: how you'd approach it
Two or three short steps. This makes the work feel concrete and lowers the client's perceived risk.
"I'd start with your 10 best-selling products, send you two sample rewrites for approval on tone, then complete the rest in batches."
4. The proof: relevant, honest evidence
One or two pieces of evidence that match this job. A relevant sample beats a long list of unrelated experience. If you're brand new and have no client work, show a spec sample you made for practice — and label it honestly as a sample.
5. The close: a low-effort next step
End with a question that's easy to answer.
"Would it help if I rewrote one product description as a free sample so you can check the tone?"
or
"Is the deadline firm on the 20th, or is there flexibility for the lower-priority items?"
A question gives the client a reason to reply. "Looking forward to hearing from you" does not.
A full example
Here's the structure assembled, for a fictional job post asking for help with a bookkeeping spreadsheet:
Hi Sam — you need your monthly income and expense tracking moved out of three separate spreadsheets into one sheet you can actually update in a few minutes.
From your description, the biggest pain seems to be categorizing transactions every month. A dropdown category column plus a summary tab would mean you only touch one place.
How I'd do it: (1) map your current categories, (2) build the combined sheet with a monthly summary, (3) walk you through it on a short call so you can maintain it yourself.
Here's a sample tracker I built for practice that uses the same approach: [sample].
Quick question: do you need it to handle more than one currency?
It's short, specific, and ends with a question. Notice it never says "I'm passionate" or lists ten software skills.
Using ChatGPT for proposals the right way
AI can save real time here, but only if you use it for the right parts. The wrong way is to paste the job post and ask, "Write a proposal for this." You'll get a polished, generic proposal that sounds like the hundred other AI-generated proposals the client has already seen.
The better way is to use the model for analysis first, then drafting with your input.
Step 1: Analyze the job post
Read this job post. List: (a) the client's core problem in one sentence, (b) any deadlines or constraints, (c) details that suggest what they care about most, (d) 2 questions I could ask to clarify scope.
[paste job post]
This forces you to understand the job before writing, and the clarifying questions often make great closing lines.
Step 2: Draft with your real facts
Write a freelance proposal under 170 words using this structure: restate the problem, one specific observation, a 3-step plan, one piece of proof, a closing question.
Client's problem: [from step 1]
My observation: [what you actually noticed]
My relevant proof: [your real sample or experience]
Tone: friendly, direct, no buzzwords, no "I'm passionate," no exclamation marks.
Do not invent experience, numbers, or results.
The model is now arranging your facts rather than inventing them.
Step 3: Edit for your voice
Read the draft out loud. Cut any sentence you wouldn't say on a call. Replace any phrase that feels like a template. The final version should sound like a competent person talking, not like a brochure.
Pricing and the proposal
New freelancers often bury their rate or apologize for it. If the platform requires a bid, set it and don't over-explain. If you're doing cold outreach, leave pricing for the reply — your goal is the conversation. When you do discuss rates, tie them to scope: "For the 10 product pages, it would be $X; if you want all 40, I'd suggest we do it in phases." Scope-based pricing feels less arbitrary than an hourly number with no context.
Track what you send
Treat proposals as experiments. Keep a simple sheet with columns for date, platform, job type, hook used, length, and whether you got a reply. After 20–30 proposals, patterns appear: maybe shorter proposals get more replies for you, or a certain opening works better in your niche. Your reply rate is the only metric that really matters, and you can't improve what you don't record.
Common mistakes to avoid
- Copy-pasting the same proposal everywhere. Clients can tell. Reuse the structure, not the text.
- Leading with your bio. Your profile already has it.
- Promising outcomes you can't control. "I'll double your sales" invites skepticism. Promise the work, not the miracle.
- Overloading with attachments. One relevant sample beats five unrelated ones.
- No question at the end. Give them a reason to reply.
The short version
- The goal of a proposal is a reply, not a hire.
- Open with the client's problem, not your background.
- Add one real observation, a short plan, honest proof, and a closing question.
- Use ChatGPT to analyze the post and arrange your real facts — never to invent them.
- Keep proposals short and track your reply rate.
I've packaged a small free set of prompts that follow this exact structure — job-post analysis, proposal drafting, and follow-up messages: Free Freelancer Prompt Sampler
Top comments (0)