How to get Clients as a freelancer
The real way I started getting better freelance leads was not cold emails. It was showing up, talking to people, and following up properly.
Finding clients as a freelancer can feel weirdly lonely. You can be good at building websites, dashboards, landing pages, or fixing messy React apps, but still sit there wondering where the next client is supposed to come from.
For a long time I thought the answer was better cold emails. Better subject lines. Better portfolio screenshots. Better pricing pages. All of those things help, but honestly, the biggest shift for me was much more simple: I started meeting people in real life and staying in touch with them.
Not in a fake "networking guru" way. Just normal conversations at meetups, college events, hackathons, small startup sessions, and sometimes even random chats after a workshop. It is not instant, and some days it feels like nothing happend, but it compounds.
Why online platforms are not enough
Upwork, Fiverr, and similar marketplaces can work. I am not against them. But they put you in a crowded room where everyone is comparing developers like menu items.
The problem is not only competition. The bigger problem is that trust is almost zero at the start.
When someone meets you in person, watches you explain something clearly, or sees you help another attendee fix a bug, the conversation starts from a better place. You are no longer "one more developer". You are that person who understood the problem.
That tiny difference matters a lot.
The network layer
I call it the network layer because it sits above your portfolio, your GitHub, and your cold outreach. It is the human layer that gives people a reason to open your link or reply to your message.
Some of my best leads did not come from direct pitching. They came from moments like:
- A founder asking a question after a meetup talk
- A student organizer introducing me to someone running a local startup
- A designer friend saying, "I know someone who needs a frontend dev"
- A past client forwarding my name after I helped them with one urgent issue
None of this happened because I had the perfect sales script. It happened because I stayed around the same ecosystem long enough.
Show up where your buyers already are
The first mistake I made was attending only developer events. They are fun, and you learn alot, but developers are not always the people hiring freelancers.
If you build marketing websites, go where founders and small businesses are.
If you build internal tools, attend startup, SaaS, and operations events.
If you like fintech work, show up at fintech meetups or college finance-tech events.
If you like design engineering, go where designers and product people hang out, not only coding meetups.
You do not need to attend everything. Two useful events a month is better than ten random ones where you leave tired and confused.
Do not pitch too early
This one took me time to learn.
When someone says, "we are rebuilding our website", the beginner instinct is to immediately say, "I can do it." That is not always wrong, but it can make the conversation feel transactional too quickly.
What worked better for me was asking practical questions:
- What is broken in the current website?
- Are users dropping off somewhere?
- Is the team blocked by design, content, performance, or development?
- Is this a redesign or a conversion problem?
When you ask better questions, people start explaining the real problem. Sometimes they do not need a full website. They need a landing page, analytics cleanup, better forms, faster load time, or a CMS they can actually update.
The person who understands the real problem usually wins more trust than the person who only says "I can code this".
A small personal example
At one local tech event, I had a casual conversation with someone about why their product page felt slow. I did not sell anything. I just explained image sizes, unused scripts, and why the first few seconds matter.
The next day I sent a short message with two specific observations from their site. Nothing fancy:
Hey, I checked the page we talked about. The hero image is pretty heavy and the analytics scripts are loading early. You could probably get a quick improvement by fixing those first.
That message turned into a small performance audit. The audit later turned into more frontend work.
It was not magical. It was just a relevant follow up.
Your follow up matters more than your intro
Meeting someone is only step one. Most people lose the opportunity after that because they never follow up, or they send something too generic.
My simple follow up system looks like this:
- Add the person on LinkedIn or X the same day.
- Send a short message mentioning the exact topic we discussed.
- Share one useful link, idea, or suggestion.
- Wait. Do not push for a call immediately unless they clearly asked for it.
The key is being specific. "Nice meeting you" is fine, but it is forgettable. "Nice meeting you, the part about your checkout dropoff was interesting" is much better.
Build small proof in public
Another thing that helped me was posting small work notes. Not polished case studies every time, just little things:
- A before/after Lighthouse score
- A component interaction I built
- A bug I fixed and what caused it
- A tiny lesson from a client project, without sharing private details
People often do not know what to hire you for until they see examples repeatedly. Your posts remind them.
This is also why your portfolio should not only look pretty. It should explain what problems you solved. A client does not care that you used Next.js if they cannot understand how it helped them.
Where beginners usually go wrong
The biggest mistake is treating networking like collecting contacts.
You do not need 500 weak connections. You need 20 people who know what you do and would feel comfortable recommending you.
Another mistake is pretending to be bigger than you are. I used to over-polish my wording because I thought it sounded more "professional". In reality, clear and honest worked better. Say what you can do, show examples, and be upfront about timelines.
Also, do not attend events only when you need work. People can feel that energy. Stay visible even when you are busy.
A practical weekly routine
If I was starting again, I would keep it very simple:
- Attend one relevant event every week or two.
- Talk to at least three people without pitching.
- Post one small build note or lesson online.
- Follow up with anyone who mentioned a real problem.
- Keep a simple note of who you met and what they care about.
You can do this in Notion, Apple Notes, or even a basic spreadsheet. The tool does not matter. Remembering context matters.
Conclusion
Freelancing is not only about being technically good. It is also about being known, trusted, and easy to talk to.
Cold outreach can bring clients, but warm trust usually brings better ones. Show up in the right rooms, listen properly, follow up with value, and let people see your work often.
That is not a quick hack, but it is the one thing that has worked for me again and again.