I've been freelancing for five years. Year one was brutal. I spent more time looking for work than doing work. I tried everything: Upwork (competed with 80 applicants per job), cold DMing people on Twitter (got ignored), posting in Facebook groups (got zero leads).
What finally worked was absurdly simple: I stopped looking for clients online and started looking at the businesses in my own city. Not on freelance platforms, but on Google Maps.
Freelance Platforms Are a Trap
Upwork and Fiverr are designed to commoditize your work. You're competing on price with developers from around the world, many willing to work for rates that won't cover your rent. The platform takes a cut. Clients there are trained to expect cheap work.
Local businesses are a different universe:
- Zero competition from Upwork: They're not browsing freelance platforms. They want someone who gets their business.
- Higher budgets: A dentist pays $3,000–$5,000 for a website. The same project on Upwork? Maybe $300–$500.
- Recurring income: Hosting, maintenance, updates, SEO. My longest-running client has been on a $150/month retainer for 4 years.
- Referral network: A happy dentist tells their dentist friends. A happy Upwork client tells nobody.
Three Ways to Find Your First 10 Clients
The "Bad Website" Method
This is my go-to. Search for businesses in your area that have websites, but bad ones. LeadsByLocation's free scoring tool makes this easy. Paste any URL and get a quality score in seconds. Anything below 50 is a strong prospect.
Then send a short, specific email: "I noticed your website scores 38/100 on mobile. Here are the 3 things dragging it down." That's helpful, not salesy. Most business owners genuinely don't know their site has problems.
The "No Website" Method
Some businesses don't have a website at all. These are harder to convert (they've managed without one, so why start now?) but the projects tend to be bigger. I've had the most luck with businesses that have 30+ Google reviews but no website, since they're clearly thriving and just never got around to it.
The pitch: "15 of your competitors in [city] show up when people search '[service] near me.' Without a website, you don't."
The "Industry Expert" Method
Pick one industry and go deep. I chose HVAC companies. I learned what makes a good HVAC website (emergency call buttons, service area maps, seasonal promotion banners). After building 5 sites in the space, my pitch became "I've built websites for 5 HVAC companies in Texas and every single one saw more calls within 60 days."
That's way more compelling than "I'm a freelance developer who builds websites."
An Email That Gets Replies
I've tested probably 20 different email templates. This one consistently gets the best response rate:
Subject: Quick thought about [business name]'s website
Hi [Name],
I'm a web developer based in [city]. I came across [business name] while looking at [business type] companies in the area.
Noticed a couple things on your website that might be costing you customers:
• [Specific issue, e.g., "It's not loading properly on mobile, which is how most people search now"]
• [Specific issue, e.g., "Page takes about 5 seconds to load. Most people leave after 3"]I build websites specifically for [business type] businesses. Would it be useful if I put together a free analysis of what's working and what could be improved?
No strings attached, just thought it might be helpful.
[Your name]
[Your website]
It works because it's specific (not a form letter), helpful (offering a free audit), and low-pressure (explicitly no strings attached).
What to Charge
New freelancers almost always undercharge. Here's what local businesses expect to pay (these numbers might surprise you):
- Basic 5-page site: $1,500–$3,000
- Custom design + development: $3,000–$7,000
- E-commerce or complex features: $5,000–$15,000
- Monthly maintenance: $50–$200/month
Quote project rates, not hourly. Business owners don't care how many hours it takes; they care about the result. And honestly, quoting $50/hour sounds cheap. Quoting $3,000 for a website that'll bring in $5,000/month of new business sounds like a steal.
The Weekly System
The freelancers earning six figures all have one thing in common: they prospect consistently, not just when they're desperate.
- Monday (1 hour): Search for 50 businesses in your target niche using LeadsByLocation. Filter by poor website scores.
- Tuesday-Wednesday (2 hours): Send 20 personalized emails with specific website observations.
- Thursday (30 min): Follow up on last week's outreach.
- Friday (30 min): Book calls, send proposals from meetings you've had.
4 hours a week. Do it every week for 3 months, and I promise you'll have more inquiries than you can handle. The hardest part isn't the outreach; it's doing it consistently when you're already busy with client work. Build the habit early.