Joel Mwaka

Data Scientist

I build models that turn messy data into decisions worth trusting.

I work across machine learning, statistics, and the messy middle where they meet the real world. This is where I keep my projects, technical notes, and the occasional essay.

01 — Selected work

Projects

All projects

Magezi AI

LLMs over SMS for regions with limited internet access — Africa's Talking for messaging, OpenAI and DeepSeek-R1 for the models, and MongoDB-backed memory so conversations stay natural over time.

  • Python
  • FastAPI
  • OpenAI
  • DeepSeek-R1
  • MongoDB

termask

A simple terminal assistant that answers your command-line questions instantly — pip-installable, with pluggable LLM providers.

  • Python
  • LLMs
  • CLI

Automated Dataset Generation

Synthetic dataset generation for planar objects — annotate an object once, then generate labelled training data at scale. Ships an example building a German right-of-way road-sign dataset.

  • Python
  • Computer Vision
  • Synthetic Data
02 — Writing

Notes & posts

All notes
/Post

Reading Papers Without Drowning

A three-pass system for keeping up with machine learning research without letting the backlog win.

  • research
  • workflow
  • reading
/Note

Bayesian Parameter Estimation

The parameter becomes a random vector with a prior. Bayes' theorem turns one data record into a posterior, and MAP, MMSE, and LMMSE are three ways of summarizing it, collapsing into a single formula when everything is Gaussian.

  • estimation-theory
  • bayesian
  • mmse
  • map
/Note

The Geometry of Gradient Descent

Why the negative gradient is the direction of steepest descent — and what the learning rate is really controlling.

  • optimization
  • calculus
  • machine-learning
/Note

Classical Parameter Estimation

The classical branch in full, with MVUE as the goal, the Cramér–Rao bound as the yardstick, maximum likelihood as the workhorse, and least squares when a signal model is all you have.

  • estimation-theory
  • crlb
  • maximum-likelihood
  • least-squares