Christopher Nguu · Data Scientist · Nairobi, Kenya
I'm a data scientist in Nairobi doing an MSc in Data Science at Strathmore University. I care most about the part of machine learning that happens after the notebook: leak-free pipelines, one shared preprocessing path for training and serving, honest metrics, and models that send low-confidence predictions to a human. My projects sit on East African problems (mobile-money fraud, telecom customer care, county-level health capacity), and I ship them as working APIs and apps rather than leaving them as slides.
- 📊 Data Scientist: ML models from baseline to deployed API (TensorFlow/Keras, scikit-learn, FastAPI, Docker)
- 🎓 MSc Data Science, Strathmore: Applied ML coursework (DSA 8401), built as reproducible, leak-free labs
- 🔭 Currently building: the Nairobi Fintech Fraud Flag API for the UNECA African AI Innovators showcase
- 🛠️ Builder: full-stack products for Kenyan clients and teams (Next.js, React, Supabase, Django)
- 🌍 Based in: Nairobi, Kenya
|
|
|
|
Badges only where a dependency file, a workflow, or the language breakdown shows the tool.
An independent portfolio series built alongside my MSc in Data Science, using public and labelled synthetic data. It is unrelated to the client builds listed below.
| Project | What it does | Key result |
|---|---|---|
| telco-churn-nba-engine | churn and next-best-action scoring API (FastAPI, Docker) on the public IBM Telco dataset | ROC-AUC 0.846, top-decile lift 2.81 |
| responsible-ai-pack | model card, SHAP, Fairlearn fairness audit, drift monitoring and CI metric gates for the churn model | parity gap 0.22 for senior citizens surfaced and disclosed |
| omnichannel-care-analytics | care journey KPIs and friction analysis | synthetic 4,000-journey log plus public Bitext intent taxonomy |
| care-automation-roi | automation cost-to-serve model, 6 scenarios with payback and sensitivity | 8.5-month base payback (illustrative inputs) |
| digital-care-roadmap | Now/Next/Later roadmap, illustrative OKRs and backlog | sequences the series |
- Trustworthy ML in production: training/serving skew, leakage, and routing uncertain predictions to human review
- Fintech & financial inclusion: mobile-money fraud signals that don't penalise thin-file wallets
- NLP for customer care: multi-head classification of telecom complaints (issue, sentiment, urgency)
- Public-health analytics: surge hospital capacity across Kenya's 47 counties, with the model's limits stated up front
- 💼 Data science portfolio: chris-nguu.vercel.app
- 💻 GitHub: ChristopherKiokoStrathmore (projects)
- 🎵 Away from code I make gospel music as Chris Clave: chris-clave.vercel.app
Portfolio cards for the repos below. Each image links to the repository.
telco-churn-nba-engine Churn model, add-on propensity models, a CLV proxy, and a next-best-action rule table, served one customer at a time through a FastAPI POST /score endpoint in Docker. |
omnichannel-care-analytics Journey KPI pipeline (funnel, time to first response, resolution by channel and intent, directly-follows graph, Sankey and friction heatmap) and a profile of the public Bitext telco intent taxonomy. |
responsible-ai-pack Governance for the pinned churn model: TreeSHAP explanations, Fairlearn fairness checks, a PSI drift baseline, model cards, a NIST AI RMF checklist, and CI metric gates. |
care-automation-roi Configurable cost-benefit model: editable assumptions, 6 scenarios, cost to serve, payback, year-1 ROI, and a sensitivity tornado. Illustrative inputs. |
digital-care-roadmap A Now / Next / Later product roadmap that sequences the four earlier projects, with OKRs and a value-versus-effort backlog. |
DSA-8401---CREDIT-LAB POST /score turns synthetic mobile-money and thin-file aggregates into a fraud probability, a risk band, and up to three short reasons. |
MULTI-HEAD- Triages code-switched Kenyan telecom care messages on issue, sentiment, and urgency, and holds a ticket for a person when the issue head is not confident enough to auto-route. |
handwritten-digit-recognition-api A fully-connected neural network trained on MNIST, served as a live REST API with a draw-a-digit web front end. |
SLIDES An interactive map that triages Kenya's 47 counties by the cumulative attack rate at which their surge inpatient capacity is exhausted. |
| Project | What it does | Stack | Links |
|---|---|---|---|
| MNIST Live: Handwritten Digit Recognition API | Dense neural net built from scratch and benchmarked against a CNN, served as a live REST API with a draw-a-digit front end. Training and serving share one preprocessing module, and predictions below 0.60 confidence are routed to human review. | TensorFlow/Keras, FastAPI, Docker, Render | Repo · Live |
| Multi-head Customer-Care Classifier | Reads telecom customer complaints on three axes (Issue, Sentiment, Urgency). The demo UI handles single messages and batch CSV, and it has an eval harness that runs against the live model API. | Next.js, TypeScript, FastAPI on Modal | Repo · Live |
| Nairobi Fintech Fraud Flag API (DSA 8401 lab) | Scores synthetic mobile-money wallets and returns a fraud probability, a risk band, and up to three reasons. Alternative-credit signals can lower the score, so a new wallet isn't flagged just for being new. The repo also keeps the Week 1 leak-free regression baseline on real-estate valuation. | Python, scikit-learn, FastAPI, Docker | Repo |
| How prepared is Kenya for a disease outbreak? | Interactive map that ranks Kenya's 47 counties by the attack rate at which surge inpatient beds run out, using the Master Health Facility List (n=8,932) and the 2019 Census. It comes with a three-slide COVID-19 data-story deck. | Python, D3, GSAP, Three.js | Repo · Live |
| Project | What it does | Stack | Links |
|---|---|---|---|
| Sheer Logic HR System | HR lifecycle monorepo with an admin dashboard and an employee self-service PWA. It has English/Swahili i18n, AI-assisted CV screening, and handles personal data in line with Kenya's Data Protection Act (KDPA). | Next.js, Turborepo, Supabase, TypeScript | Repo · Live |
| Airtel Champions PWA | PWA for Home Broadband (HBB) leads, installer assignments, performance tracking, and team collaboration, aimed at sales executives and zone managers. | React, Vite, Supabase, Capacitor | Repo · Live |
| TestOps | QA testing platform for mobile-payment flows (M-Pesa, USSD, STK Push), with role-based dashboards, daily test logging, pass-rate analytics, and PDF reports. | React, TypeScript, Supabase, Recharts | Repo |
| Createch Architects | Production site for a Nairobi architecture and interiors practice, with a PIN-protected admin for editing site content and a separate Django media/content API. | Next.js, Tailwind, Django REST Framework, Vercel, Railway | Website · Backend · Earlier build · Site |
| Createch Hobbies | E-commerce store for a Kenyan seller of DIY educational kits for children. It uses headless WooCommerce, takes M-Pesa, Airtel Money, and card payments, and has an order dashboard. | Next.js, Django REST Framework, WooCommerce | Storefront · Backend · Site |
Built in Nairobi 🇰🇪 · All project repos live at github.com/ChristopherKiokoStrathmore













