Best Portfolio Project Ideas for Kenyan Junior Developers
The best portfolio projects for Kenyan junior developers use local infrastructure: M-Pesa via Daraja, USSD via Africa's Talking, and WhatsApp Business API. A hiring manager in Nairobi is far more impressed by a working M-Pesa checkout than a generic todo app. Every project idea below uses at least one of these local rails and can be built with free sandbox tools.
Why local rails matter more than another todo app
Every bootcamp graduate has a todo app, a weather dashboard, and a calculator on their portfolio. These projects prove you can follow a tutorial. They do not prove you can solve problems that Kenyan businesses actually face.
Kenyan tech companies need developers who understand:
- M-Pesa payment integration (STK Push, C2B, B2C)
- USSD applications for feature phone users
- WhatsApp as a business communication channel
- SMS notifications and two-factor authentication
- Multi-currency and multi-country payment flows
Building with these technologies signals to a hiring manager that you can hit the ground running. It also means your portfolio projects actually solve problems that exist in your market, which makes them more interesting to talk about in interviews.
M-Pesa integration projects
All of these can be built using the Daraja sandbox. No real money needed.
- Event ticketing system. Build a web app where users browse events, select tickets, and pay via M-Pesa STK Push. The system sends a confirmation SMS after payment. Stack: React or Next.js frontend, Node.js/Express backend, Daraja API for payments, Africa's Talking for SMS confirmation. This covers the full payment lifecycle that fintech companies need.
- Contribution tracker (chama app). Build a platform where group members can make monthly contributions via M-Pesa. Track who has paid, show balances, send reminders. This solves a real problem: most chamas in Kenya still use spreadsheets and manual M-Pesa sends. Use Daraja C2B for receiving contributions and B2C for disbursements.
- Bill splitting app. Users create a bill, add items with prices, assign items to people, and each person pays their share via STK Push. The app tracks who has paid and who is outstanding. Simple concept, but it demonstrates real-time payment status polling and webhook handling.
USSD projects
USSD reaches every phone in Kenya, not just smartphones. Building USSD apps shows you understand that not all users have apps or browsers.
- Market price checker. A USSD app where farmers dial a short code and get current market prices for maize, beans, tomatoes, and other produce at their nearest market. Use Africa's Talking USSD simulator. The menu flow: select county, select market, select crop, see price. Backend: Node.js with a simple database of market prices.
- Appointment booking system. A USSD-based booking system for a clinic, salon, or service provider. Users dial in, select a service, pick a date and time slot, and get an SMS confirmation. This is a real product pattern used by M-Tiba and other health platforms in Kenya.
USSD projects are portfolio gold because very few bootcamp graduates build them. They demonstrate that you think about accessibility and the reality that 30% of Kenyans access digital services through USSD, not apps.
WhatsApp and SMS projects
- Order notification system. Build a simple e-commerce backend where customers place orders through a web form. The system sends order confirmations and delivery updates via WhatsApp (using the WhatsApp Business API or a service like Africa's Talking). This is how companies like Jumia, Glovo, and countless small businesses communicate with customers in Kenya.
- Landlord-tenant communication tool. A system where landlords send rent reminders via SMS, tenants pay via M-Pesa, and payment confirmations go back via SMS. Combine Africa's Talking SMS with Daraja payments. This solves a genuine pain point in Kenyan rental management.
- Survey/feedback collector. Send SMS survey questions to a list of phone numbers and collect responses. Display results on a dashboard. Uses Africa's Talking for two-way SMS. Useful for NGOs, schools, and community organizations.
Full-stack combination projects
These projects combine multiple local rails and demonstrate broader architectural thinking.
- School fees payment portal. Parents log in, see their children's fee balances, pay via M-Pesa, and get SMS receipts. The school admin dashboard shows payment status per student. Stack: Next.js, Supabase, Daraja, Africa's Talking. This project demonstrates authentication, role-based access, payment processing, and notifications.
- Delivery tracking app. Customers place orders (web or USSD), riders get assigned and update delivery status, customers get WhatsApp/SMS updates at each stage. Admin dashboard shows all active deliveries on a map. This is the core system behind Sendy, Glovo, and every delivery company in Nairobi.
Pick one of these combination projects as your "hero" portfolio piece. Build it thoroughly: clean code, proper error handling, a README that explains the architecture, and a working demo. One excellent project beats five mediocre ones.
How to present these projects
Building the project is half the work. Presenting it is the other half.
- Deploy it. A project that only runs on localhost is not a portfolio piece. Use Vercel for the frontend, Railway or Render for the backend. A live URL that a hiring manager can click is worth more than a GitHub repo they have to clone and set up.
- Record a demo video. Two minutes showing the app working: a user paying via M-Pesa, the confirmation arriving, the admin dashboard updating. Upload it to YouTube or Loom and link it from your README.
- Write a README that explains decisions. Why did you use Supabase instead of Firebase? How did you handle Daraja callback failures? What would you change if you rebuilt it? Hiring managers want to see how you think, not just what you built.
- Include the sandbox credentials setup. Make it easy for someone to clone and run your project. A section in the README explaining how to get Daraja sandbox credentials and set up environment variables shows you think about developer experience.
Frequently Asked Questions
- Can I use sandbox APIs in my portfolio or do I need real production credentials?
- Sandbox APIs are perfectly fine for portfolio projects. Employers understand that you are not going to pay for production M-Pesa credentials for a demo project. What matters is that you understand the integration flow: authentication, request formatting, callback handling, and error cases. Show that in your code and your demo.
- How many portfolio projects do I need?
- Three to five quality projects are better than ten half-finished ones. Aim for one "hero" project that is polished and demonstrates multiple skills, two to three smaller projects that each highlight a specific technology (USSD, payments, API integration), and clean GitHub repos for all of them.
- Do I need to build a personal portfolio website too?
- A simple portfolio site helps, but the projects themselves matter more. If you have a clean GitHub profile with good READMEs and deployed projects, a hiring manager can evaluate you. A flashy portfolio site with no real projects behind it is worth nothing. Build the projects first, then build the site to showcase them.
- What if the project idea already exists as a real product?
- That is fine. You are not trying to build a startup. You are demonstrating that you can build software. Building a clone of M-Shwari, Sendy, or M-Tiba proves you understand the domain and the technology. Employers know you are a junior developer showing your skills, not launching a competitor.
Ready to build real-world apps?
Join the McTaba Labs full-stack marathon. Ship 8 production apps with M-Pesa, USSD, and WhatsApp integrations, and get career support until placement.
See Programs