Freelancing as a Developer in Kenya: The First Client Playbook
To land your first freelance developer client in Kenya, start with your existing network: friends, family, former colleagues, and local businesses you already interact with. Build a simple portfolio site with two or three projects, set a fair but not desperate price, use a basic contract template, and accept M-Pesa for local payments. Most Kenyan freelancers get their first client through a personal connection, not a platform.
Where to Actually Find Your First Client in Kenya
Let me save you some time. Your first freelance client is probably not going to come from Upwork. It is not going to come from a cold DM on Twitter. It is going to come from someone you already know, or someone who knows someone you know.
This is not a Kenyan thing. It is a freelance reality everywhere. When you have zero reviews, zero portfolio proof, and zero track record, the only people willing to take a chance on you are people who already trust you as a person. That trust is your starting advantage. Use it.
Your immediate network. Tell everyone you know that you build websites and apps. Not in a pushy way. Just mention it naturally. "I have been learning to code and I am taking on my first projects." You will be surprised how many people in your circle know someone who needs a website, a simple app, or tech help. Your uncle's hardware store needs an online presence. Your cousin's event planning business is running everything through WhatsApp. Your former colleague's startup needs a landing page. These are real projects with real value.
Local businesses in your area. Walk around your neighborhood or town center. How many businesses have a website? How many have one that actually works well on mobile? Most small businesses in Kenya still run without any web presence, or they have a site built five years ago that looks broken on phones. Walk in, introduce yourself, and offer to build them something. Bring your phone with examples of your work. Keep the pitch simple: "I build websites for businesses like yours. Here is what I have done. Can I show you what your business could look like online?"
WhatsApp and Facebook groups. Kenya runs on WhatsApp. Join business groups, alumni groups, and community groups. When someone posts asking for a website or app recommendation, respond. Do not spam groups with your services. Instead, be helpful when the opportunity comes up naturally. Facebook groups for Kenyan entrepreneurs (like "Digital Entrepreneurs Kenya" or local business networks) are also active marketplaces where people regularly ask for developer recommendations.
Freelance platforms (for your second or third client). Upwork, Fiverr, and similar platforms are worth pursuing, but they work better once you have a few completed projects and reviews to show. The chicken-and-egg problem on these platforms is real: you need reviews to win jobs, but you need jobs to get reviews. Our Upwork vs direct clients guide covers strategies for breaking through this barrier. For now, focus on landing your first client through your network while setting up your platform profiles in parallel.
Tech community connections. Attend a local meetup like Nairobi.js, GDG Nairobi, or Python Nairobi. You will meet other developers who sometimes have overflow work they need to pass along. You will also meet non-technical founders looking for developers. These events are not sales pitches, they are relationship-building opportunities. Show up, be genuine, contribute to conversations, and let people know what you do.
Setting Up Your Portfolio (The Minimum Viable Version)
You need a portfolio before you start looking for clients. But you do not need a masterpiece. You need something that answers one question: "Can this person actually build things that work?"
What your portfolio needs. A personal website with your name, a brief description of what you do, two or three project examples, and a way to contact you. That is the minimum. Each project should include a screenshot, a short description of what it does, the technologies you used, and a link to the live version. If the project is not deployed and accessible, it does not count. Screenshots of localhost are not convincing.
What projects to include. If you have built anything for a real user (even a friend or family member), lead with that. A simple business website you built for your aunt's salon is more impressive than a tutorial project because it shows you dealt with a real person's requirements. If you only have tutorial and personal projects, choose the ones that look most professional and solve a clear problem. A to-do app is fine technically, but a budget tracker with M-Pesa transaction categories tells a better story to a Kenyan client.
Building the portfolio site itself. Keep it simple. A clean single-page site built with React or even plain HTML and CSS is perfectly fine. Deploy it on Vercel or Netlify (both free). Buy a domain name (around KES 1,200-1,500/year for a .com). Having yourname.com looks significantly more professional than a Netlify subdomain. If you have completed McTaba's Full-Stack Software and AI Engineering course, you already have deployed projects from the curriculum that serve as strong portfolio pieces.
GitHub as a secondary portfolio. Pin your best repositories. Make sure each has a clear README with a description, setup instructions, and screenshots. Some clients will never check your GitHub, but technical clients and other developers will. A clean GitHub profile with active commits signals consistency and professionalism.
Do not wait until it is perfect. Your portfolio will improve over time as you add real client work. The version you launch with is the worst it will ever be, and that is okay. The goal right now is to have something to show when someone asks "can I see your work?" Having a basic portfolio beats having nothing while you spend months perfecting a design you are never satisfied with.
Pricing Your First Project (Without Working for Free)
The temptation with your first project is to do it for free. "I need the experience," you tell yourself. "I will use it for my portfolio." Resist this. Working for free sets a terrible precedent and tells the client (and yourself) that your skills have no value. Even your first project should be paid.
How to set your first price. You are not going to charge market rate for your first project, and that is fine. You are offering a lower price in exchange for the client's patience and willingness to work with someone new. A simple business website for a local Kenyan client might typically go for KES 30,000-60,000 from an established freelancer. For your first project, KES 15,000-25,000 is a reasonable range. It is enough to be taken seriously, low enough to be attractive, and high enough that you will not feel resentful doing the work.
Structure the payment. For your first project, a simple 50/50 split works well. Half upfront before you start, half on completion. This protects both sides. The client knows you are committed because you have already received payment and have a reputation to build. You know the client is serious because they have already paid. Never start significant work without some upfront payment. This is a lesson many Kenyan freelancers learn the hard way after delivering completed work and then chasing payment for months.
Do not price by the hour for your first project. Hourly pricing requires tracking and trust that has not been established yet. Quote a project price for a defined scope. "I will build a 5-page business website with a contact form and mobile responsiveness for KES 20,000." Clear, simple, no ambiguity. Our detailed pricing guide covers hourly vs project pricing in depth once you are past your first few projects.
The "friends and family" discount. If your first client is someone close to you, it is okay to offer a reduced rate. But frame it as a discount, not as free work. "This would normally be KES 30,000, but I am giving you a friends-and-family rate of KES 15,000." The client understands they are getting a deal. You establish that your work has monetary value. And when you raise your rates for the next client, there is no awkwardness because everyone understood the arrangement from the start.
Contracts and Agreements: Protecting Yourself from Day One
You do not need a lawyer for your first freelance project. But you do need something in writing. A simple agreement protects you from the two most common freelance nightmares: scope creep ("can you also add this?") and non-payment ("I will pay you next month, I promise").
What your agreement should include. Keep it straightforward. Your agreement needs to cover these points:
- What you are building: List the specific pages, features, and functionality. "A 5-page website including Home, About, Services, Portfolio, and Contact pages. Mobile responsive. Contact form that sends emails."
- What is not included: Explicitly state what falls outside the scope. "Ongoing maintenance, content creation, SEO optimization, and additional pages are not included in this quote."
- Timeline: When you will deliver. Be realistic and add a buffer. If you think it will take two weeks, say three.
- Price and payment schedule: Total cost, when each payment is due, and acceptable payment methods.
- Revision rounds: How many rounds of changes are included (two is standard) and what happens after that ("Additional revisions billed at KES X per round").
- What happens if either side wants to cancel: The client keeps the work completed so far. You keep payment for work completed. Simple and fair.
Format does not matter much. A Google Doc shared with the client, a PDF you both sign, or even a detailed WhatsApp message that the client confirms with "I agree" can work for small projects. The point is documentation, not formality. You want something you can point to if there is a disagreement about what was agreed. As your projects grow in size and value, invest in a proper contract template. But for a KES 20,000 first project, a clear written agreement is enough.
The scope creep conversation. It will happen. Midway through the project, the client will ask for something that was not in the original agreement. "Can you also add a blog?" or "Can we add an online booking system?" This is not the client being difficult. They are excited about the project and having new ideas. Your response is simple: "That is a great idea. It is outside the current scope, so let me quote it as an add-on." Then provide a separate quote for the additional work. Most clients accept this gracefully when you handle it professionally.
Getting Paid: M-Pesa, Bank Transfers, and International Options
Getting paid is the whole point of freelancing. Set up your payment infrastructure before you start looking for clients so you can accept payment smoothly when the opportunity arrives.
M-Pesa for local clients. This is the most practical option for Kenyan clients. Most people are comfortable with M-Pesa and it involves no friction. For your first few projects, receiving directly to your personal M-Pesa number is fine. As you grow, consider registering a Till number through Safaricom's business portal. A Till number looks more professional, separates business transactions from personal ones, and gives you cleaner records for tax purposes.
Bank transfers for larger projects. For projects above KES 50,000, some clients prefer bank transfer. Open a business account or use a dedicated personal account for freelance income. This keeps your financial records clean and makes tax filing easier. Most Kenyan banks offer free or low-cost accounts for small businesses and freelancers.
International payments. If you land an international client (which becomes more likely as you build experience), you need a way to receive USD or other currencies. Wise (formerly TransferWise) offers good exchange rates and low fees. Payoneer is popular among freelancers on Upwork and other platforms. Both allow you to receive payments and withdraw to your Kenyan bank account or M-Pesa. Our getting paid from abroad guide covers the details.
Invoice every project. Even if the client is your cousin. Even if they pay via M-Pesa. Send an invoice before payment is due. It looks professional, creates a paper trail for your records, and makes tax filing cleaner. You can use free tools like Wave, Invoice Ninja, or even a simple Google Docs template. Include your name, the client's name, the project description, the amount, the due date, and your payment details. Our tax and invoicing guide covers best practices.
The uncomfortable topic: chasing payment. Some clients will be late paying you. Some will try not to pay at all. This is why you take an upfront deposit and never deliver final files or deploy the final version before receiving full payment. For web projects, build on your own hosting account and only transfer to the client's hosting after final payment. This gives you leverage without being confrontational. If a client disappears after receiving deliverables without paying, you have limited options. Prevention (upfront deposits, milestone payments, written agreements) is far more effective than trying to recover payment after the fact.
Delivering Your First Project (And Getting a Testimonial)
How you deliver your first project matters as much as the code itself. A smooth delivery turns a one-time client into a repeat client and a source of referrals. A messy delivery kills both possibilities.
Communicate throughout the project. Do not disappear for two weeks and then surface with a finished product. Send weekly updates, even if they are just a WhatsApp message with a screenshot. "Here is the homepage so far. Feedback welcome before I move to the other pages." This builds confidence, catches misunderstandings early, and makes the client feel involved. Most client frustration comes from silence, not from technical issues.
Deliver on a staging URL first. Before the final handoff, deploy the project to a staging environment and walk the client through it. Share your screen on a call if possible. Let them click around and give feedback. This is the moment where you catch the "oh, I actually meant..." comments before you consider the project complete. Deploying to staging also shows the client that you know how to ship software, not just build it locally.
Handle feedback professionally. Your first client will have opinions you disagree with. "Can you make the logo bigger?" "I want more colors." "Can the text flash?" Resist the urge to argue. If the request is purely aesthetic and does not hurt usability, just do it. If the request would genuinely harm the user experience, explain why gently: "I would recommend keeping the text static because flashing text can be difficult to read and affects accessibility. But if you feel strongly about it, I can add it." Pick your battles. Your job is to serve the client while protecting the quality of the work.
Get a testimonial before you close the project. This is crucial and most new freelancers forget to do it. Right after delivery, when the client is happy with the result, ask: "Would you mind writing a short testimonial about working with me? Just a few sentences about your experience." Most clients are happy to do this when asked directly. A testimonial from even one real client is worth more than ten self-written portfolio descriptions. Add it to your portfolio site immediately.
Ask for referrals. After a successful project, ask the client: "Do you know anyone else who might need a website or app?" Personal referrals from satisfied clients are the single most effective way to grow a freelance business. Each completed project should generate at least one or two warm leads for the next project. This is how freelancing compounds over time.
Common Mistakes New Kenyan Freelancers Make (And How to Avoid Them)
These come up repeatedly in conversations with Kenyan developers starting their freelance journey. Each one is avoidable if you know about it in advance.
1. Saying yes to everything. Your first instinct is to accept any project that comes your way because you need the experience and the money. But taking on a project that is way beyond your skill level (like building a full e-commerce platform when you have only done static sites) leads to missed deadlines, frustrated clients, and damaged reputation. Be honest about what you can and cannot do. It is better to say "this project is beyond my current experience, but I can recommend someone" than to promise something you cannot deliver.
2. Not defining the scope in writing. We covered this already, but it is worth repeating. A handshake agreement or a vague WhatsApp conversation is not enough. Get the scope in writing. Every time a freelancer tells me they were burned by a client, the root cause is almost always the same: nothing was documented.
3. Underestimating timelines. Whatever you think a project will take, add 50%. If you estimate two weeks, tell the client three. Unexpected bugs, unclear requirements, client feedback delays, and your own learning curve will eat up more time than you expect. Delivering early is a pleasant surprise. Delivering late is a professional problem.
4. Neglecting the business side. Freelancing is a business, not just coding. You need to track income and expenses, send invoices, follow up on payments, market your services, and manage client relationships. Many developers love the coding part and ignore everything else. The developers who build sustainable freelance careers are the ones who treat the business side as seriously as the technical side.
5. Not investing in skills development. Your first few projects will expose gaps in your knowledge. Maybe you struggle with deployment. Maybe responsive design takes you three times longer than it should. Maybe you have never set up email sending from a contact form. Track these gaps and fill them between projects. If you want a structured way to level up your full-stack skills, McTaba's Full-Stack Software and AI Engineering course (KES 120,000) covers the entire stack from frontend to deployment, including M-Pesa integration, which is one of the most requested features from Kenyan clients.
6. Comparing yourself to established freelancers. A developer with five years of freelance experience and a full client roster is not your benchmark. You are at the beginning. Your first project will not be perfect. Your first client might be a small local business paying KES 15,000. That is completely fine. Everyone starts somewhere. The difference between developers who build successful freelance careers and those who give up is persistence through the awkward early period.
Key Takeaways
- ✓Your first freelance client will almost certainly come from your personal network. Friends, family, former colleagues, church members, or local businesses you already know. Cold outreach on platforms works eventually, but warm introductions close faster.
- ✓You do not need a perfect portfolio to start. Two or three solid projects on a clean personal site are enough. What matters is that the projects work, look decent, and demonstrate you can build something real.
- ✓Price your first project fairly, not for free. Charging nothing trains clients to expect free work and signals that you do not value your own skills. Even a modest fee establishes you as a professional.
- ✓A simple written agreement protects both you and the client. It does not need to be a legal masterpiece. It just needs to say what you are building, when, for how much, and what happens if the scope changes.
- ✓M-Pesa is the most practical payment method for local Kenyan clients. Set up a Till number or use Buy Goods for a paper trail. For international clients, Wise or Payoneer are the standard options.
Frequently Asked Questions
- How do I get my first freelance client as a developer in Kenya?
- Start with your personal network. Tell friends, family, former colleagues, and local business owners that you build websites and apps. Attend local tech meetups. Join WhatsApp and Facebook groups for Kenyan entrepreneurs. Your first client will almost certainly come from a personal connection, not from a freelance platform. Most Kenyan freelancers land their first project through someone who already knows and trusts them.
- Should I do my first freelance project for free?
- No. Working for free sets a bad precedent and signals that you do not value your skills. Charge a reduced rate if you need to, but make sure it is a paid engagement. Even KES 10,000-15,000 for a first project establishes you as a professional. Frame any discount as a special introductory rate, not as charity. The client gets a deal, and you get paid experience.
- How much should I charge for my first freelance project in Kenya?
- For a simple business website for a local client, KES 15,000-25,000 is a reasonable starting range. This is below the market rate for established freelancers (KES 30,000-60,000) but fair for someone building their first portfolio piece. Always take at least 50% upfront and the rest on delivery. As you complete more projects and build reviews, raise your rates gradually.
- Do I need a contract for freelance work in Kenya?
- You need something in writing, though it does not have to be a formal legal contract for small projects. A clear written agreement covering scope (what you are building), timeline, price, payment schedule, included revision rounds, and cancellation terms protects both you and the client. A Google Doc or detailed email that both parties confirm is sufficient for projects under KES 50,000.
- How do I accept payments as a freelance developer in Kenya?
- For local clients, M-Pesa is the easiest option. Receive directly to your personal number for small projects, or set up a Till number for a more professional look. For larger projects, bank transfers work well. For international clients, set up accounts on Wise or Payoneer to receive USD and withdraw to your Kenyan bank account. Always invoice every project, even small ones.
- How long does it take to get your first freelance client?
- If you actively reach out to your network and local businesses, you can realistically land your first project within two to four weeks. The key word is "actively." Simply posting on social media and waiting does not count. You need to have direct conversations, attend events, and make specific offers to specific people. Passive marketing works eventually, but active outreach closes your first deal.
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