Work
The longer stories first, then the smaller things I built to learn something or scratch an itch.
Case studies
- 1
- 2
- 3
- 4
- 5
Bank of Africa · Data Analyst·2025 — 2026
Branch Performance Dashboards
A daily leaderboard and a set of retail and bank-wide dashboards that rank 23 branches on loans and deposits, so the morning question of who moved and why has an answer before anyone asks it.
- Posted
- Taken
- En route
- Done
Personal product·2026In progress
Waypoint
A hyperlocal errand marketplace for dense institutional communities: university campuses and hospital compounds, where someone always needs something picked up and someone nearby is happy to do it.
Mobile ML·2025
CropScan
An offline-first Flutter app that diagnoses crop diseases on-device with TensorFlow Lite, backed by a training pipeline I can actually reproduce.
- Deadline
- src ↗
- English test
- src ↗
- Application fee
- src ↗
- Funding
- src ↗
- Contacts
- src ↗
Backend · Scraping·2026
Site Scope
Turns a university's admissions pages into a structured dossier: deadlines, test requirements, fees, funding and contacts, with every field traceable back to the page it came from.
Builds
Site Scope
Admissions pages in, structured dossier out. Playwright, deterministic extraction.
TypeScriptCase study
CropScan
Offline crop-disease diagnosis on the phone with TensorFlow Lite.
DartCase study
CropScan training
Reproducible dataset and training pipeline with metrics and checkpoints.
Python
GeminiMaths
Photograph a maths problem, get a step-by-step solution via Gemini Vision.
Dart
Contact API
Multi-user contacts REST API with JWT auth and ownership checks.
JavaScript
ThoughtShare
Blog platform with sessions, image uploads and a clean MVC split.
JavaScript
CampusFinder
Lost-and-found for campus: report, search and match items. Django.
Python
TypeScript fundamentals
CLI task manager and ATM API exploring layered design and typed state.
TypeScript
Work with me
Hiring for a backend, mobile or cloud role, or have something you want built? Tell me what you have in mind.