[
](https://linkedin.com/in/jameskoero) [
](https://twitter.com/jmsOnyango) [
](mailto:jmskoero@gmail.com) [
Self-taught ML Engineer from Kisumu, Kenya 🇰🇪 — building production-ready ML systems that solve real African problems, from flood prediction to salary transparency.
With a strong foundation in Physics and Mathematics from Moi University and hands-on geophysical research at KenGen's Olkaria Geothermal Project, I bring scientific rigour to every ML system I build — coded entirely on Android (Termux + PyramIDE).
- 🎓 B.Sc. Physics (Major) + Mathematics (Minor) — Moi University, 2012
- 🏭 Industrial Attachment — KenGen Olkaria Geothermal Project, 2011 (MT and TEM methods)
- 🔬 Research — Eburru Geothermal Prospect geophysical study — Prof. Mghendi Mwamburi
- 📍 Location — Kisumu, Kenya (near Lake Victoria)
- 🕒 Timezone — EAT (UTC+3)
- 🌐 Open To — Remote ML Engineer / Data Science roles — US · EU · Global
- 🧠 Build end-to-end ML systems — raw data to feature engineering to model training to live API
- 📐 Apply Physics and Mathematics background to feature engineering and model evaluation
- 🌍 Solve real African problems — flood risk, salary transparency, credit scoring
- 🚢 Ship production-grade code — FastAPI · Docker · GitHub Actions CI/CD
- 📊 Explain every prediction with SHAP — because unexplainable AI is not good enough
Languages and Data
Machine Learning and AI
Visualisation
Web and Deployment
DevOps and Tools
End-to-end flood prediction system for Nyando Basin, Kenya
[
](https://nyando-flood-api.onrender.com/docs) [
](https://github.com/jameskoero/nyando-flood-ai) [
](https://github.com/jameskoero/nyando-flood-ai)
| Metric | Value |
|---|---|
| Model | GradientBoostingClassifier |
| AUC | 0.9717 |
| F1 Score | 0.9022 |
| CV Score | 0.9727 +/- 0.004 |
| Training Data | 2,308 real GEE satellite points |
| Deployment | FastAPI · Docker · Render |
| CI/CD | GitHub Actions — 41 tests passing |
| Funding Target | UNDP · USAID · Google.org · Green Climate Fund |
Real-time salary prediction API across 8 African countries
[
](https://afrisalaries.onrender.com/docs) [
](https://afrisalaries.vercel.app) [
](https://github.com/jameskoero/afrisalaries)
| Item | Detail |
|---|---|
| Model | XGBoost + TF-IDF (5,000 features) + SHAP |
| Coverage | KE · NG · ZA · GH · ET · TZ · UG · RW |
| Data | Real scraped data — BrighterMonday · Fuzu · Target: 3,000+ rows |
| Database | Neon PostgreSQL (async) |
| Cache | Upstash Redis REST |
| Stack | FastAPI · React 18 · Vite · Tailwind CSS · Recharts |
Credit risk ML system with regulatory-grade metrics
[
](https://github.com/jmskoero/loan-risk-assessment)
| Metric | Value |
|---|---|
| Model | GradientBoostingClassifier + SHAP |
| Gini Coefficient | 0.74 (Basel III minimum: 0.35 — pass) |
| Framework | EL = PD x LGD x EAD |
| IFRS 9 Staging | Stage 1 PD less than 2% · Stage 2 2-10% · Stage 3 above 10% |
| Threshold | 0.35 saves 23% cost vs default 0.50 |
Senior-grade, leak-free sklearn pipeline with full explainability
[
](https://github.com/jameskoero/titanic-survival-prediction)
| Metric | Value |
|---|---|
| Hold-out Accuracy | 78.77% |
| CV Accuracy | 82.4% |
| ROC-AUC | 0.8456 |
| Key Insight | Sex coefficient +2.61 = 13.5x survival odds |
| Pipeline | StratifiedKFold · ColumnTransformer · GridSearchCV F2 · Bootstrap 95% CIs |
Full-stack PWA managing 200+ members live
[
](https://cmdms.onrender.com) [
](https://github.com/jameskoero/cmdms-web)
- Features: 5-role RBAC · MRH-XXXXXX Member IDs · KES Finance · Attendance · Events
- Stack: Flask 3.0 · React 18 PWA · PostgreSQL · Render · Vercel · GitHub Actions CI/CD
| Priority | Project | Domain | Data Source |
|---|---|---|---|
| High | Crop Disease Detection | Computer Vision | PlantVillage + field data |
| High | Malaria Outbreak Prediction | Public Health | WHO, DHIS2, climate |
| High | Flood Risk Mapping v2 | Geospatial ML | CHIRPS, USGS DEM |
| Planned | M-Pesa Fraud Detection | FinTech | Transaction patterns |
| Planned | Credit Scoring Unbanked | Finance | Alternative data |
| Planned | Solar Potential Mapping | Energy | NASA POWER API |
| Planned | Matatu Route Optimisation | Transport | OSM, GTFS |
| Planned | Lake Victoria Water Quality | Environment | Satellite + IoT |
| Certificate | Issuer | Date | ID |
|---|---|---|---|
| Machine Learning using Python | Programming Hub / Google Developers Launchpad | Oct 2025 | bae4cf502b3dfe5 |
| Python Basics | Programiz | Sep 2025 | 08ddece2-fd4c-40eb-88d9-8f6b142466b0 |
B.Sc. Physics (Major) + Mathematics (Minor) — Moi University, Kenya | 2008-2012
- Classical Mechanics · Statistical Physics · Linear Algebra · Calculus · Numerical Methods
- Research: Eburru Geothermal Prospect using MT and TEM methods — Prof. Mghendi Mwamburi
Industrial Attachment — KenGen Olkaria Geothermal Project | 2011
- Large-scale geophysical survey data collection and processing in the field
- Applied MT and TEM subsurface imaging — first exposure to scientific data pipelines
"I build production ML systems — not just notebooks. My Physics and Mathematics background means I think carefully about what a model is actually measuring before I trust its output. Every project I ship has a live URL, SHAP explainability, and a real problem it solves — because that is what actually helps people and what gets you hired."
Available for remote ML Engineer and Data Science roles — worldwide.
[
](https://linkedin.com/in/jameskoero) [
](mailto:jmskoero@gmail.com) [
](https://cmdms.onrender.com) [
](https://nyando-flood-api.onrender.com/docs) [
](https://afrisalaries.onrender.com/docs)
📍 Kisumu, Kenya 🇰🇪 | 🕒 EAT (UTC+3) | 🌐 Remote-first
"The best time to build deep ML expertise was 5 years ago. The second best time is today."
— James Koero