Work

Systems I designed, built, and in most cases still operate. The three with case studies are the ones where I owned the whole thing, from schema to deployment.

Three are marked private. Two of those handle client payment records and patient health records, so the code and the screenshots stay where they are. I would rather show you a gap than publish someone else’s data.

Mara

A live analytics platform for the Nairobi Securities Exchange: walk-forward random-forest price forecasting, Markowitz portfolio optimisation, strategy backtesting, and a Telegram bot for people who would rather not open a dashboard. Built and operated solo.

  • Django
  • React
  • scikit-learn
  • PostgreSQL
  • Docker
Mara's Analytics Lab: a ticker selector, a three-month price chart for SCOM, and strategy backtesting controls.

Case studyLive

Document Intelligence API

Turns invoice PDFs into structured JSON with GPT-4o Vision. Async Celery workers, SHA-256 deduplication so the same document never costs twice, confidence scoring on extracted fields, exponential backoff on model failures, and polling endpoints for front ends to consume.

  • FastAPI
  • Celery
  • Redis
  • PostgreSQL
  • GPT-4o Vision
  • Docker
The Document Intelligence API reference: upload, status, result, list, and delete endpoints.

Case studyCode

CRM System at Optiven

The CRM the sales team runs on. I designed it, built it, integrated it with the existing ERP so data flows both ways, and ran the training that got people to actually use it.

  • Django
  • Python
  • MySQL
  • n8n
  • REST
  • React

Case study

VulnWatch

Threat intelligence monitor that ingests CISA KEV, NVD, BleepingComputer, and The Hacker News, scores each item with a GPT-4o triage step, and posts only what matters to Slack.

  • n8n
  • Python
  • OpenAI
  • Slack API
  • CISA KEV
  • NVD

Private

ClientScore

Predicts client payment likelihood on a 1 to 10 scale from payment history, transaction records, and contract signals. Experiments tracked in MLflow.

  • Python
  • scikit-learn
  • MLflow
  • pandas
  • MySQL
  • FastAPI

Private

Clinical Data Warehouse

Warehouse for electronic health records pulled from existing EHR systems, with an ETL pipeline that validates on the way in and notifies on failure rather than silently dropping rows.

  • Python
  • SQL
  • ETL
  • Power BI

Private

FlowTodo

Offline-first Kanban across web and mobile, sharing one Zustand store synced through Supabase Realtime, with natural-language date parsing on task entry.

  • React
  • Expo
  • Supabase
  • FastAPI
The FlowTodo API reference: offline-first todo and Kanban endpoints with real-time sync.

Code

M-Pesa Growth EDA

Sixteen years of Kenyan mobile money growth, analysed from a monthly dataset I reconstructed and calibrated against published CBK and KNBS annual totals, since the monthly series is not public. Growth curves, seasonal decomposition, and correlation analysis across the COVID period.

  • pandas
  • statsmodels
  • seaborn
  • Jupyter

Code