Bonaventure OgetoBy Bonaventure Ogeto|

Freelance Web Development in Kenya: Getting Your First Client

To get your first freelance web development client in Kenya, start with local businesses that have no website or an outdated one. Walk through commercial areas in your town, identify businesses, and offer to build a professional site for KES 20,000-40,000. Simultaneously create an Upwork profile with 2-3 deployed portfolio projects. Most Kenyan developers land their first paying client within 4-8 weeks of active outreach.

What You Need Before Looking for Clients

You cannot sell freelance web development if you cannot build a complete website from scratch. That sounds obvious, but a surprising number of people create Upwork profiles after watching three YouTube tutorials and wonder why nobody hires them.

Here is the minimum skill set you need:

  • HTML, CSS, and JavaScript. You should be able to build a responsive, mobile-friendly website without copying someone else's code line by line.
  • A frontend framework. React is the most in-demand, but even solid vanilla JavaScript works for basic business sites.
  • Basic backend understanding. You do not need to be a full-stack expert, but knowing how to set up a contact form, connect to a database, or integrate a payment API makes you more valuable than a frontend-only developer.
  • Deployment. If you cannot put a site live on the internet, you cannot deliver to a client. Vercel, Netlify, or Railway for backends.

You also need a portfolio. Three deployed projects is the minimum. A personal portfolio site, one project that looks like a real business website, and one project that shows some backend functionality (a booking system, a simple e-commerce page, or a dashboard).

If you are not at this level yet, the Tech Foundations course (KES 2,999) helps you figure out if coding is the right path. If you are ready to go deep, McTaba's Full-Stack Software & AI Engineering course covers everything from React to M-Pesa integration across 8 production projects.

Finding Local Clients in Kenya

Forget Upwork for now. Your first client will almost certainly be local.

Walk through any commercial area in Nairobi, Kisumu, Nakuru, Mombasa, or Eldoret. Count the number of businesses you pass that have no website, or have a website that looks like it was built in 2012. That number is your market.

Who to approach:

  • Restaurants and cafes. They need menus, location info, and booking options online.
  • Salons and barbershops. Online booking saves them phone time.
  • Real estate agents. Property listings need to be online.
  • Churches and community organizations. Many want a professional web presence.
  • Small retailers and wholesalers. Product catalogues drive inquiries.

How to approach them:

Walk in and talk to the owner or manager. Not an employee. The owner makes spending decisions. Keep it simple: "I build websites for local businesses. I noticed you do not have one yet. I can build you a professional site with mobile optimization for around KES 25,000-35,000, delivered in two weeks."

If walking in feels awkward, find their phone number and call. Or send a WhatsApp message. Or find the owner on Facebook. The channel matters less than making contact.

Send 10-15 outreach messages per week. Expect a 5-10% response rate. That is 1-2 conversations per week, and usually one becomes a client within a month.

How to Price Your First Project

Your first project is not about maximizing revenue. It is about getting a completed project, a happy client, and a testimonial. Price accordingly.

Recommended first-project pricing in Kenya:

  • Simple business website (5-7 pages, responsive, contact form): KES 20,000-40,000
  • Website with booking functionality: KES 30,000-50,000
  • Small e-commerce site (under 50 products): KES 50,000-80,000

Yes, these rates are low compared to what agencies charge. An established agency quotes KES 150,000+ for a basic business site. You are not an established agency. You are a developer with zero client history who needs a first win.

Payment structure: Always collect 50% before you write a single line of code. The remaining 50% on delivery. Some developers use a 40/40/20 split for larger projects. The principle is the same: never start work without money in your M-Pesa.

After your first 3-5 projects, raise your rates. Each completed project gives you more confidence, more portfolio pieces, and more testimonials. By project number ten, you should be charging 2-3x your starting rate.

Setting Up Upwork in Parallel

While you hunt for local clients, create an Upwork profile. It takes time to get traction on the platform, so starting early means it will be ready when you need it.

Profile essentials:

  • A professional photo. Not a selfie, not a group photo. A clear headshot with decent lighting.
  • A specific headline. "Full-Stack Web Developer | React, Node.js, M-Pesa Integration" beats "Web Developer" by a wide margin.
  • Portfolio items with live URLs. Add your deployed projects with screenshots and brief descriptions of what each one does.
  • A description that talks about what you build, not who you are. Clients want to know what you will do for them.

Your first bids:

Filter for jobs under $500 with fewer than 10 proposals. These are the projects that experienced freelancers skip because the money is small. For you, they are the fastest path to your first review.

Write custom proposals. Reference something specific from the job posting. Explain briefly how you would approach the work. Include a link to a relevant portfolio project. Keep it under 150 words.

Set your hourly rate at $15-20 to start. After 5-10 positive reviews, raise it to $25-35. After your Job Success Score hits 90%+, you can push to $40-60.

Delivering Your First Project Without Disaster

Landing the client is step one. Delivering well is what turns one client into five through referrals.

Before you start coding: Write down exactly what you will deliver. How many pages. What features. What the client provides (logos, text, images) and what you provide. Send this to the client on WhatsApp or email and get them to confirm. This simple step prevents 80% of scope creep arguments.

During the build: Send progress updates every 3-4 days. A screenshot or a staging link showing what you have built so far. Clients get nervous when they pay money and hear nothing for two weeks. Regular updates build trust.

When they ask for changes: Small tweaks to colours, fonts, or layout are normal. Expect them. Major additions ("can you also add a shop section with 200 products?") are scope creep. Respond with: "I can add that. It will cost an additional KES X and add Y days to the timeline." Polite and clear.

On delivery: Walk the client through the final site. Show them how to update content if applicable. Make sure it works on mobile. Test the contact form yourself. Then send the final invoice for the remaining balance.

After delivery: Ask for a testimonial. "Would you mind writing a short sentence about your experience working with me? I use testimonials on my portfolio." Most clients will say yes. That testimonial is your most valuable marketing asset for future clients.

Getting Paid as a Freelancer in Kenya

For local clients, M-Pesa is the simplest option. Send a payment request via M-Pesa or share your till number. Bank transfer works for larger amounts. Receipts matter, so save transaction confirmations.

For international clients on Upwork, the platform handles payment. You can withdraw to M-Pesa, your bank account, or Payoneer.

For direct international clients (not through a platform), set up a Wise account. It gives you USD bank details that clients can pay into, and you withdraw to your Kenyan bank or M-Pesa at competitive exchange rates.

A note on chasing payments: Some clients will be late. Some will try not to pay at all. This is why the upfront deposit matters so much. If a client has already paid 50%, they have skin in the game and are far more likely to pay the rest. If you start work without a deposit, you have zero leverage when the invoice goes unpaid.

For your tax obligations as a freelancer, see our guide on taxes for freelancers in Kenya.

After Your First Client: Building Momentum

The first client is the hardest. Everything after that gets progressively easier. Here is why.

Client number one gives you a deployed project you can show to client number two. Client number two gives you a testimonial and a referral. Client number three comes to you instead of you chasing them.

How to keep the momentum:

  • Ask every satisfied client for referrals. "Do you know any other business owners who might need a website?" People are generous with referrals when they are happy with your work.
  • Post your completed projects on LinkedIn and Twitter. Show the before and after. Tag the business if they are okay with it.
  • Keep your Upwork profile active. Bid on 3-5 projects per week consistently. The algorithm rewards consistent activity.
  • Raise your prices after every 3-5 completed projects. If nobody pushes back on your prices, you are charging too little.

Most Kenyan freelance developers reach a stable income within 6-12 months of starting. The first three months are the grind. Stay with it.

Key Takeaways

  • Local businesses are the easiest first clients. A restaurant or salon in your town that has no website is a far easier sell than competing on Upwork with zero reviews.
  • Your portfolio needs live URLs, not GitHub repos. Clients click links. They do not clone repositories.
  • Price your first few projects to win, not to maximize. KES 20,000-40,000 for a simple site builds your track record faster than quoting KES 100,000 and hearing silence.
  • Always collect at least 50% upfront before starting any work. Clients who refuse deposits are clients who refuse final payments.
  • The hardest part is the first client. After that, referrals and repeat work make the second and third clients much easier.

Frequently Asked Questions

How long does it take to get your first freelance web dev client in Kenya?
With active outreach to local businesses (10-15 contacts per week), most developers land their first paying client within 4-8 weeks. On Upwork, it typically takes 2-4 weeks of consistent bidding to land the first small project, though it can take longer if your profile is sparse.
Do I need a business registration to freelance in Kenya?
Not for your first few projects. You can operate as an individual and receive payments via M-Pesa or your personal bank account. Once your monthly income exceeds KES 50,000 consistently, consider registering a sole proprietorship for tax purposes and professional credibility.
Can I freelance from outside Nairobi?
Absolutely. Online work is location-independent. Your Upwork and international clients do not care where in Kenya you sit. For local clients, every town has businesses that need websites. Kisumu, Nakuru, Mombasa, Eldoret, and Thika all have untapped demand.
What if a client refuses to pay the final amount?
This is why you collect 50% upfront. If a client refuses to pay the balance, you have already covered your costs. For future prevention, use a written agreement (even a WhatsApp message both parties confirm) that outlines deliverables, payment schedule, and consequences of non-payment.

Ready to build real-world apps?

Join the McTaba Labs full-stack marathon (4 months full-time · 6 months part-time). Learn M-Pesa, USSD, and WhatsApp engineering while shipping 8 production apps.

Apply to the McTaba Marathon