$635KEarned
Top 1%EVExpert Vetted
3,800+hBillable
100+Clients
5.0/5Avg rating
Before / after

Scott spent 3 years on Upwork. He earned $100.

He had a portfolio, certifications, and a polished profile. He was applying to 5+ jobs a day. The math says someone like him should be earning $40K/year by year three. He wasn't. Here's why.

The original post — 66,853 impressions

Scott reached out to me last year. He'd been on Upwork for 3 years. His total earnings: $100. From 600+ proposals.

I looked at his profile. Everything was technically correct:

  • Polished headshot, complete profile
  • 5 skills tagged, 100% completion score
  • 3 portfolio items, all real client work
  • Top Rated badge from his $100 of earnings
  • Average proposal length: 380 words, no typos

The system wasn't broken. The system was working — it was just routing him to the wrong jobs, with the wrong proposals, at the wrong rate. He fixed it in 6 weeks. He landed $14K in projects in the next 90 days.

The 4 quiet mistakes

Scott isn't unusual. I see this profile pattern at least once a week. Everything looks right on the surface, and nothing converts. The mistakes are not the obvious ones.

1. He was a generalist with the title of a specialist

His profile said "Senior Backend Engineer." His skills tagged Python, JavaScript, AWS, Docker, PostgreSQL, MongoDB, Redis, GraphQL, REST, microservices, CI/CD. The hero paragraph said he could help with "any backend or DevOps challenge."

To a buyer, this reads as: "I'm a body for hire." When you're hiring for a real problem, the freelancer who lists 11 technologies feels less expert than the freelancer who lists 3 and says "specifically for B2B SaaS APIs." Scott was the first kind. He fixed it in week one — narrowed his profile to "FastAPI + Postgres for early-stage SaaS" and dropped seven skills he didn't want jobs in.

2. His proposals were resumes

He was sending 380-word proposals. Most started with "I have 8 years of experience in..." followed by his background. The job-specific part was a paragraph at the bottom.

Buyers read top-down. They get 8 sentences before they decide whether to scroll. If those 8 sentences are about you, they're not about their problem. We rewrote the structure. New proposals were 6-8 sentences. The first sentence quoted their job description. The second sentence offered a specific first step. Background came at the bottom, in one line.

Reply rate went from under 1% to 9% in three weeks.

3. He was applying to jobs his profile wasn't optimized for

Scott was filtering jobs by: budget > $1K, posted in last 24 hours. That's a budget filter, not a fit filter. Half the jobs he applied to had nothing to do with his strongest skills.

The shift was simple: he stopped applying to anything outside his narrowed niche. The volume dropped from 5 jobs/day to 2 jobs/day. The reply rate quadrupled because the proposal-to-job match was tight.

4. He was charging based on what he thought was reasonable

His rate was $35/hour. He thought it was fair given his experience. The problem: $35/hour signals junior on Upwork. Buyers looking for senior backend work skip past it because they assume they're paying for inexperience.

We moved him to $75/hour. He worried it would kill his pipeline. It doubled it. Buyers in his niche expect $60-100/hour for senior work. Sitting at $35 was making him invisible to the buyers who would have paid him properly.

Run the same diagnostic on your profile

The free assessment grades the same 4 patterns Scott had to fix. 2 minutes, no signup.

What you can do this week

Day 1: Specialist test

Read your profile hero. Could a buyer summarize what you do in 8 words? If not, narrow until they can.

Day 2: Proposal rewrite

Pull your last 5 proposals. Count: how many of the first 8 sentences were about you, how many were about the buyer? If the ratio's not at least 6:2 in their favor, rewrite.

Day 3-5: Fit-first applications

Apply to 6 jobs that match your narrowed niche exactly. Skip every "stretch" job. Track the reply rate against your previous baseline.

Day 6: Rate audit

Look at the top 10 freelancers in your niche. What's the median rate? If you're 30%+ below it, raise your rate. Buyers in that bracket aren't price-shopping — they're filtering on signal.

Day 7: Kill the volume habit

If you've been applying to 5+ jobs a day, drop to 2-3 high-fit ones. Use the saved time to make those proposals genuinely custom.

Get the playbook Scott used

The free Upwork Playbook is the same diagnostic and rewrite framework that took him from $100 in 3 years to $14K in 90 days.

Nick Valiotti
Nick Valiotti
Expert Vetted on Upwork · helped 1,000+ freelancers · 5 years on the platform

I've reviewed profiles for over a thousand freelancers. Scott's pattern shows up constantly. The good news: it's the most fixable kind of broken.

Connect on LinkedIn →
Related reads

More on the same theme

Take free assessment