Samples
Four Upwork proposal samples, and why each one works
Four complete Upwork proposals — web development, design, writing and virtual assistant — each shown against the job post it answers, with the reason it works and the pattern underneath all four.
Last updated
The short answer
- A good Upwork proposal runs 110 to 170 words in five parts: greeting, hook, proof, close, sign-off.
- The opening line must name the client’s specific problem. If it could be pasted into another job, it is not a hook.
- Give one project with a number in it, not a list of skills — your profile already carries the skills.
- Close with a question only this client can answer, or an offer to do the first small piece of work before they commit.
On this page
How to read these
Each sample below is a complete proposal shown next to the job post it answers, because a proposal read on its own tells you almost nothing. What makes a first line good is that it could not have been written for any other posting, and you can only see that with the posting in front of you.
These are written examples, not letters lifted from anyone’s real Upwork account. The job posts are composites of the kind that actually get posted, and the proposals are written to the same five-part structure we use in the proposal guide. Treat them as a pattern to copy, not a script: a letter pasted unchanged reads exactly like what it is.
Sample 1: Web development
At 138 words:
Why it works: the first sentence disagrees with the client’s implied diagnosis. They wrote “we have 400,000 orders” because they believe the data volume is the problem; saying it is not, and naming the two things it usually is instead, proves the writer has actually thought about the posting rather than pattern-matched “Laravel”. The proof carries a before-and-after number and a specific index, which cannot be bluffed. The close asks for one command’s output — thirty seconds of the client’s time, not a meeting.
Sample 2: Design
At 146 words:
Why it works: the client proposed a cause (“we think the flow is confusing”) and asked for a deliverable. A weak proposal agrees and quotes for wireframes. This one reframes the problem as sequencing rather than clarity, which is a more interesting answer and makes the client want the call. It also refuses to start designing before seeing the funnel — scoping discipline a client recognises, because the last designer probably did start drawing.
Sample 3: Writing
At 138 words:
Why it works: it quotes the client’s own words back (“burned by generalists”) and then demonstrates the difference rather than claiming it, by naming three subjects a generalist would not reach for. It handles “send samples” in one line by pointing at the single most relevant piece instead of attaching five. The closing question is the strongest move on the page: it is a real strategic fork, and answering it costs the client nothing.
Sample 4: Virtual assistant
At 148 words:
Why it works: VA postings attract the highest volume of identical proposals on Upwork, almost all of which restate the job description back as a list of skills. This one names a failure mode the client has probably lived through, which is the fastest way to sound like someone who has done the job rather than someone who wants it. The availability line answers the hard constraint directly instead of hoping it goes unnoticed, and the close offers work up front.
What all four have in common
The four jobs have nothing to do with each other, and the letters are nearly identical in shape. That shape is the thing worth copying.
| Part | What it does | Length |
|---|---|---|
| Greeting | The client's first name when the post gives it. Never "Dear Sir/Madam" and never "Dear Hiring Manager". | A few words |
| Hook | Names the real problem, often correcting the one the client assumed. Impossible to paste into another posting. | One or two sentences |
| Proof | One project, with a number or a specific technical detail. Never a list of skills — the profile already carries those. | Two to four sentences |
| Close | A specific, low-effort next step: one question, or an offer to do a small piece of the work first. | One or two sentences |
| Sign-off | "Best," and a first name. Nothing after it. | Two lines |
All four land between 138 and 148 words. That is not a coincidence — it is about what fits before a client has to decide whether to keep reading. Below roughly 110 words there is no room for real evidence; above about 170, the proof gets skimmed past.
The lines to delete
None of the samples contain any of the following, and that is most of what separates them from the other forty proposals on the job.
- “I hope this message finds you well.” It spends the one line the client is guaranteed to read on nothing.
- “I have 8+ years of experience in…” Your profile says this, directly above the letter.
- A skills list. Same reason. A list of technologies proves exposure, not judgement; one project proves both.
- “I would love the opportunity to work with you.” Everyone who applied would. It carries no information.
- “Please check my portfolio.” Point at one specific piece and say why it is the relevant one, as the writing sample does.
Adapting one to your own job
Work in this order, which is the order a client reads in rather than the order that feels natural to write in.
- Read the post for the one detail that says what is actually wrong. It is usually a symptom the client has misdiagnosed, or a constraint buried in the last line.
- Write the hook about that detail only. If the sentence would survive being pasted into another posting, it is not a hook yet.
- Pick the single closest thing you have done. Closest beats most impressive, every time.
- Give one number from it — a before and after, a duration, a measured result. If you have no number, give a concrete technical detail instead.
- End with a question only this client can answer, or an offer to do the first small piece before they commit.
The slow step is the fourth one, because it means remembering which of your past contracts is actually relevant. That is the step Nibwright automates: it reads your real Upwork work history and client feedback through the official API, and drafts the letter from the contract that actually matches the posting — then you edit it and press Submit yourself.
Questions
Can I copy these Upwork proposal samples?
Copy the structure, not the words. These are written examples rather than letters taken from real accounts, but a proposal pasted unchanged still reads as generic, because the whole effect depends on the hook referring to one specific job post. Use the five-part shape — greeting, hook, proof, close, sign-off — and rewrite every sentence against the posting in front of you.
How long should an Upwork proposal be?
Between 110 and 170 words. All four samples here land between 138 and 148. Shorter than about 110 words leaves no room for a real piece of evidence; longer than about 170 and the client skims past the proof, which is the part that was doing the work.
What should the first line of an Upwork proposal say?
It should name the client's actual problem in their own terms, and often correct the cause they assumed. The client already sees your name, rate and job success next to the letter, so the opening does not need to introduce you. Its only job is to prove you read this specific post. A first line that could be pasted into a different proposal has failed.
Do I need a different proposal for every Upwork job?
The hook and the proof have to change every time; the structure does not. In practice that is two or three sentences rewritten per job, not a letter from scratch — pick the past project closest to this posting, and open on the detail in the post that tells you what is really wrong.
Should I attach a portfolio or samples to an Upwork proposal?
Point at one piece and say why it is the relevant one, rather than attaching several and asking the client to choose. A client reviewing thirty applicants will not open a folder. Naming the single closest piece and the reason it matches does the sorting for them, which is itself evidence of how you work.
See a real draft for a real Upwork posting before you pay anything.
Connect Upwork with read-only OAuth, save a search, and the first proposals arrive on the free 100 starter credits. You still press Submit yourself.
Start free