Everyone tells you to "build a portfolio first." That's great advice if you have 6 months to spare and zero bills to pay. I didn't have either. Here's how I landed my first three paying clients starting from absolute zero.
The Cold Start Problem
The freelance chicken-and-egg problem is brutal: you need a portfolio to get clients, but you need clients to build a portfolio. Most advice online tells you to build side projects. That works, but it's slow and doesn't prove you can deliver for a real business.
I took a different approach.
Platform vs. Direct Outreach
I tried both. Here's what actually worked:
Platforms (Upwork, Fiverr, etc.)
I created profiles on Upwork and Fiverr in the same week. After 3 weeks:
- Upwork: 15 proposals sent, 2 responses, 0 contracts
- Fiverr: 1 gig posted, 0 orders
The problem with platforms when you're new: zero reviews means zero trust. You're competing against people with 500+ five-star reviews who charge less than you.
Direct Outreach (What Actually Worked)
I shifted to finding businesses that needed help and reaching out directly. Not cold emails to strangers — warm outreach to businesses I could see had problems.
My method: I'd find local businesses with terrible websites (broken links, no mobile responsiveness, slow loading). I'd record a 2-minute Loom video showing the specific issues and how I'd fix them. Then I'd send it via their contact form or LinkedIn.
Out of 30 outreach messages with Loom videos, 4 replied. 2 became clients.
The Proposal Template That Got Responses
Here's the template I used (adapted for each business):
Subject: Quick video — 3 things hurting [Business Name]'s website
Hi [Name],
I noticed a few things on [business website] that might be costing you customers:
- [Specific issue — e.g., "Your contact form doesn't work on mobile"]
- [Specific issue — e.g., "The page takes 8 seconds to load"]
- [Specific issue — e.g., "No Google Maps integration for your store location"]
I recorded a quick 2-minute video showing these issues and how I'd fix them: [Loom link]
I'm a web developer based in Montreal. I help small businesses fix exactly these kinds of problems. Would you be open to a quick chat this week?
— Youness
The key ingredients:
- Specific — not "your website needs work," but exact issues
- Visual — the Loom video showed I'd actually looked at their site
- Low commitment — "quick chat" not "sign a contract"
- Local — mentioning Montreal built trust with local businesses
Under-Promise, Over-Deliver on Project 1
My first real client was a restaurant owner who needed a new website. The budget: $1,500. Not life-changing money, but it was real, paid work.
Here's what I quoted:
- New responsive website (5 pages)
- Mobile-friendly design
- Contact form
- Google Maps embed
- Basic SEO setup
Here's what I delivered:
- Everything above, plus...
- Online menu with daily specials
- Google Business Profile optimization
- Instagram feed integration
- Speed optimization (PageSpeed score: 94)
The extras took me maybe 4 additional hours. But the client was blown away. They told two other business owners about me. Those two became clients #2 and #3.
Turning 1 Client Into 3 Referrals
The referral chain happened because I did three things:
1. I Asked
After delivering the project, I sent this message:
"Really glad you're happy with the site! If you know any other business owners who need web help, I'd appreciate the introduction. No pressure at all — just putting it out there."
Simple. Non-pushy. But explicit. If you don't ask, people don't think of it.
2. I Made It Easy
When the client mentioned a friend who needed help, I said: "Would you mind sending them a quick text? I can write it for you if that's easier." I literally drafted the referral text for them. All they had to do was copy-paste.
3. I Stayed in Touch
One month after delivering, I sent a follow-up:
"Hey [Name], just checking in — how's the website performing? I noticed your Google ranking went up for 'restaurant [city name].' Let me know if you need any updates."
This wasn't a sales pitch. It was genuine care. But it kept me top of mind.
The Numbers After 3 Months
- Outreach sent: 30 Loom videos
- Replies: 4
- Clients signed: 2 (from outreach)
- Referral clients: 1
- Total revenue: ~$4,500
- Time invested (including learning): ~120 hours
Not enough to quit my day job. But enough to prove the model worked. By month 6, I was doing $3,000-5,000/month consistently.
What I'd Do Differently
- Niche down earlier — I took any web project. If I'd focused on "restaurants in Montreal" from day 1, my outreach would've been more targeted and my portfolio more cohesive.
- Set up a simple portfolio page immediately — Even a one-page site with 2-3 screenshots would've helped. I was sending clients to my GitHub, which is meaningless to a restaurant owner.
- Raise prices sooner — My first project was underpriced. The second one too. I was afraid of losing deals, but I was undervaluing my work.
The Real Lesson
You don't need a portfolio to start freelancing. You need proof that you can solve a specific problem for a specific person. A Loom video showing a business their broken contact form is more convincing than a beautiful portfolio site with zero real clients.
Start with outreach. Build the portfolio from real work. The portfolio becomes a byproduct of doing good work, not a prerequisite for it.
Ready to start your freelance journey? Or already freelancing and want to level up? Let's connect — I'm always happy to chat with fellow developers.