About
I like problems that don't fit neatly into one field.

My story
My career began in a diagnostic laboratory. As a medical laboratory technologist I ran chemistry, haematology and microbiology tests where a careless result has real consequences. That work taught me quality control, attention to detail, and respect for how much depends on reliable information.
I was drawn to software because it could fix problems I saw every day: slow processes, scattered information, decisions made without the right data. Alongside my lab work, I started building web applications at Powem, a software studio in Nairobi, working remotely. Then I joined MamaOpe Medicals, a healthtech company working on pneumonia and respiratory care.
At MamaOpe my scientific background stopped being a side note and became an advantage. I've worked on a respiratory screening device (hardware, signal processing and its Android app) and on the AI systems behind HealthNavi and Empirico. I co-authored the published evaluation of our clinical decision-support system, and I can talk with clinicians about how it should behave as easily as I can talk with engineers about how it's built.
Alongside that, I build products well outside healthcare: an enterprise procurement platform and a sports streaming product with live video, payments and mobile apps. I build them with other engineers and own my work end to end. Different domains, same discipline.
How I approach problems
Seven steps I come back to, whatever the stack.
- 01
Understand the problem
Who is affected, what they actually do today, and what “better” would mean to them.
- 02
Find the real cause
Separate symptoms from causes. Requirements come from the work, not from assumptions.
- 03
Weigh the options
Look at a few ways to solve it and be clear about what each one costs: money, risk, time and upkeep.
- 04
Design the system
Pick the simplest design that works: data, services, screens and what happens when things fail.
- 05
Build it
Ship small working pieces often, across frontend, backend, infrastructure or hardware.
- 06
Test and validate
Check it against reality: tests, known answers, feedback from the field and real users.
- 07
Measure and improve
Use what the evidence says to decide what to fix next.
Then repeat, with better evidence.
On any given day
I work on the whole product, from the database to the screen to the release.
Backend
APIs, data models, background jobs and the integrations between them.
Frontend and mobile
Web apps in React and Next.js, mobile apps in React Native and Expo.
Deployment
Shipping to Vercel and self-hosted Dokploy servers, and getting apps through App Store review.
CI/CD
Pipelines that test and release every change, so shipping is routine instead of an event.
Debugging
Tracing production issues across services until the cause is found, not just the symptom.
Talking to people
The people who will use the product, other engineers and the people who run the business. Most requirements come from listening.
What drives my work
Problems that matter to the people who have them, in any field. I like work where different worlds meet: medicine and machine learning, sport and live video, money and business rules, hardware and software. Every new field means learning how people really work, and that is the part I enjoy most.
Professional philosophy
Technology is a tool, not the goal. A solution is worth what it solves, how reliably it works and the difference it makes.
Education
BSc Biomedical Laboratory Technology
Makerere University, Kampala · Graduated January 2022
Laboratory science gave me scientific reasoning, a habit of checking evidence, and a working understanding of the clinical systems I now build software for. I added structured computer-science training through MITx in 2024.
Let's connect
Have something to build or fix? Let's talk.
Whether you're building a product, improving an existing system or exploring an idea that needs someone who can work across disciplines, I'd be glad to hear from you. Open to new roles, projects and collaborations, remote or international.