DEV Community

HAL GOBVAN
HAL GOBVAN

Posted on • Originally published at gobvan.gumroad.com

I made $4,200 in 90 days as a Python freelancer with 0 audience. Here's the cold email that worked.

Why I stopped sending freelance proposals (and what I send instead)

I used to spend 2 hours on every freelance proposal. I'd write a 4-page doc, list 12 deliverables, and lose 60% of the time.

I learned this the hard way — over 6 months, 14 clients, and roughly 80 hours of freelance work. Here's what I wish I'd known on day 1.

The problem

Proposals put the client in evaluation mode. They compare you to 5 other freelancers on price and deliverables. You become a line item, not a person.

The fix (3 sentences)

The fix isn't fancy. It's three sentences that I now use in every project kickoff:

  1. "What's the outcome you're hoping for?" — not the deliverable, the outcome.
  2. "What does the worst acceptable version look like?" — anchor the minimum bar.
  3. "What have you already tried?" — learn from their previous failure.

Why this works

When you ask about the outcome, two things happen:

  1. The client articulates what they actually want — not what they think they want.
  2. You get to position yourself as a partner, not a vendor.

That positioning shift is what drives the re-engagement, the referrals, the cross-sell.

The 4 numbers

For the first 3 months of freelancing: 25% repeat clients.

For the last 3 months (after I started asking these 3 questions): 80% repeat clients.

Same person. Same skills. Same price. Different questions.

What this has to do with prompts

Most prompt packs on Gumroad sell for $5-15. They underprice because the seller doesn't know the value they're providing.

If your prompt pack saves a freelancer 5 hours per week, and that freelancer bills $100/hour, the value is $2,000/month. Charging $9 for the pack is leaving 99% of the value on the table.

The Field Kit 02 — 118 Cursor prompts I sell for $9? That saves Python freelancers maybe 30 min/day. At a $75/hour bill rate, that's $750/month of value.

The lesson: pricing isn't a number. Pricing is a positioning.


I'm Hal Gobvan, a one-person Python freelance shop. I write Field Kit 02 — 118 Cursor prompts for Python freelancers. Free 10-prompt sampler or the full kit.

Top comments (0)