Data & ML Systems · Nairobi, Kenya
Machine learning that survives contact with reality.
I am Bruce Onyango. I build data and machine learning systems for places where the network is unreliable and the stakes are real, from payment platforms at national scale to models served over a WhatsApp message.
signal in noise, made legible
What I do
Four ways I turn data into something that works.
Most of my engagements sit at the join between good modelling and stubborn infrastructure. That is the interesting part, and the part that decides whether the work reaches anyone.
Machine learning that actually ships
A model is worth nothing until someone uses it. I take predictive work the last mile: served over WhatsApp, packed into a low-bandwidth flow, running where your users already are instead of behind a dashboard nobody opens.
Data systems for hard conditions
Offline-first architecture, delta sync, and reconciliation for settings where the network drops and data still has to stay correct. I have built this on Raspberry Pi nodes serving whole classrooms with no persistent internet.
Forecasting and statistical analysis
Time series forecasting, risk models, and honest evaluation for data-scarce problems. I choose the model the data can support, and I measure it in a way that reflects the real cost of being wrong.
Payments and platform reliability
Mobile money integration and backend systems built to stay consistent under real load. Safaricom M-Pesa, Header Enrichment, and Paybill, wired so that every completed payment maps to a completed outcome.
Selected work
Systems that had to hold up.
A Raspberry Pi network that serves a full learning platform to classrooms with no reliable internet, and a sync engine that reconciles each node with the cloud without ever corrupting the data.
Read the case study →
Safaricom Header Enrichment and Paybill integrations that carried a national student platform from launch to sixty thousand enrollments and meaningful revenue inside the first month.
Read the case study →
A diabetes risk classifier delivered entirely through WhatsApp, so screening reaches people on the app they already use, with no download, no dashboard, and almost no data cost.
Read the case study →
A time series model that predicts PM2.5 concentration across the day for Nairobi, built from open African air quality data and validated with honest, leakage-free backtesting.
Read the case study →
The through-line
The hard part is almost never the model. It is getting the answer to the person who needs it, on the connection they actually have.
Writing
Notes from the work.
Thinking on machine learning, data engineering, and building for the places most tools ignore.
In data-scarce settings the temptation is to reach for a bigger model. Usually the right move is the opposite: a smaller model, honest validation, and a clear-eyed view of what the data can and cannot support.
Put the model in the message, not the dashboardMost machine learning in emerging markets fails at the last step, not the first. The fix is to deliver predictions through the channel people already use, and often that channel is a chat.
Work with me
If you have data that should be doing more, or a system that has to work in conditions most software gives up on, write to me. I read every message.