About
Engineer. Builder.
Nairobi to the world.
I'm a software engineer who cares about building things that work well and last. Over the past 8 years I've worked on everything from IoT platforms serving remote communities across Africa, to legal-tech and machine learning infrastructure for clients globally.
I'm most comfortable in the backend — designing systems that are reliable, fast, and easy to maintain. But I've shipped full products end-to-end and I'm comfortable doing whatever it takes to get something into production.
What I do
Areas of expertise.
Backend systems
I build the engines that power products — APIs, data pipelines, and services that stay reliable when things get busy.
Cloud & infrastructure
I deploy and scale systems on cloud platforms, containerise workloads, and set up the pipelines that ship code safely.
AI & intelligent tools
I integrate large language models and build tools that help people work smarter — from document search to decision support.
Full-stack products
I can take a product from blank canvas to live — frontend included. I've shipped complete applications used by real customers.
Experience
Where I've worked.
Senior Software EngineerAngazaNov 2023 — Present · Nairobi, Kenya
Angaza makes pay-as-you-go technology for off-grid energy companies across Africa.
- Led the migration of a billing system serving thousands of off-grid energy customers, making it possible to accept payments from a wider range of sources.
- Helped test critical payment and messaging systems during a major platform upgrade.
Software Engineer IIFraymJan 2022 — Nov 2023 · Remote · United States
Fraym provides hyperlocal population data to governments and organisations tackling global development challenges.
- Built an automated pipeline that processes and stores large geographic datasets, making customer reports significantly faster to generate.
- Redesigned the cloud infrastructure powering Fraym's machine learning tools — cutting processing time by more than half.
- Built a set of task APIs that made it easier for other teams to integrate their tools with Fraym's platform.
Team Lead, Automation EngineeringERM LibryoJan 2020 — Dec 2022 · Remote · United Kingdom
Libryo (acquired by ERM) helps organisations stay on top of legal and regulatory requirements.
- Led the team that built automated systems for collecting legal regulations from thousands of websites — cutting processing time by 50%.
- Solved a reliability problem in the web crawler that was crashing on large documents; rebuilt it to process 600MB+ of content without issues.
- Wrote technical documentation that made it easier for the team to maintain and extend the ingestion systems over time.
Software EngineerDirectcore TechnologiesJun 2015 — Oct 2018 · Nairobi, Kenya
Directcore is an end-to-end IT solutions provider specialising in telecoms products and services across multiple verticals in Africa.
- Built and maintained CRM dashboards used by internal teams to manage customer accounts and service workflows.
- Worked across the stack — from Linux server configuration to database design and frontend interfaces.
- Delivered projects spanning web applications and mobile clients for clients in telecoms and enterprise sectors.
Software EngineerEED AdvisoryNov 2018 — Dec 2020 · Nairobi, Kenya
EED Advisory is a Pan-African consulting firm working in energy, water, and climate change.
- Connected 20 different types of smart sensors and meters to the platform, each communicating in a different protocol.
- Built the platform that collected and showed real-time energy and water data from 150+ devices deployed across Africa.
- Designed the system that collected data from field devices and turned it into live dashboards for engineers and decision-makers.
Projects
Things I've built.
Open Heart Sessions
An anonymous platform that connects people who need someone to talk to with people willing to listen. Built with real-time chat, AI content moderation, and a progressive trust model.
Lambwe Untamed Safaris
A premium website for a Kenya-based safari operator, built to attract and convert international tourists looking for guided wildlife experiences.
ussd-flow
A Python library that takes the complexity out of building USSD apps — the menu systems used by hundreds of millions of Africans for mobile banking and information services. Published on PyPI.
Spring Boot USSD Demo
A Java reference implementation for building USSD services — both simple single-level menus and complex branching flows with session state — using Spring Boot.
Kamstrup Integration
A Java library for decrypting and decoding encrypted payloads from Kamstrup smart water meters transmitting over the Sigfox IoT network.
Contact
Let's work together.
Whether you have a project in mind, a role to fill, or just want to talk through a technical problem — my inbox is open.