I build things. Web apps, ML pipelines, Android automation tools, production APIs — if it can be built, I'll build it. Speech models fine-tuned in PyTorch. Platforms shipped solo. Pipelines running on nothing but a phone. Full-stack, end-to-end, whatever it takes.
| Project | Description |
|---|---|
| WavLM Emotion Recognition | Fine-tuning Microsoft WavLM Base for 8-class emotion recognition across RAVDESS, IEMOCAP, and CREMA-D. Full pipeline: data loading, augmentation, evaluation, checkpoint management. 77.3% in-distribution accuracy; cross-corpus gap diagnosed via arousal/valence analysis. |
| Kenyan Audio Corpus (DAPT) | Curating a Kenya-specific audio dataset for domain-adaptive pre-training. Deduplication, quality filtering, preprocessing — informed by Don't Stop Pre-Training. Building the dataset that should have existed already. |
📱 Scoopz
End-to-end TikTok automation pipeline running entirely on a phone via Termux. Watches a link inbox, downloads videos in HD, extracts frames with ffmpeg, and generates captions via GPT-4o Vision. Async 5-worker pipeline with parallel captioning across 3 concurrent workers. FastAPI control layer for job orchestration, retry logic, and per-worker failure isolation.
Built because constraints are just problems that haven't been engineered yet.
Impact: ~58% faster content processing (2 hrs → 50 min for 40 videos), fully hands-off.
Python Kotlin Android FastAPI OpenAI API ffmpeg Termux
Visual, node-based engine for building and validating AI pipelines with real-time execution. 9 modular node types (LLM, API Call, Vector Store, Conditional, etc.) on a reusable BaseNode architecture. Regex-driven variable parsing ({{ variables }}) auto-generates graph connections. FastAPI backend validates DAG integrity via Kahn's Algorithm before execution.
Turned a static ReactFlow demo into a working visual programming system.
React ReactFlow FastAPI Python DAG Algorithms
Fine-tuned a 24-layer Transformer for 8-class emotion recognition across RAVDESS, IEMOCAP, and CREMA-D. 77.3% accuracy in-distribution; cross-corpus testing exposed a 16–23pp generalisation drop, diagnosed via arousal/valence failure analysis — a known limit of self-supervised speech embeddings. Scoped fixes: adversarial domain adaptation, speaker disentanglement, Kenya-specific DAPT corpus.
Full training-to-failure-analysis pipeline — not just a trained model.
PyTorch HuggingFace WavLM SpeechBrain Transfer Learning
Scalable B2B communication platform helping businesses engage customers at scale. Shipped under competitive hackathon pressure with a 2-person team, full-stack, won against the full field.
Deceptively simple-looking. Actually not.
Scalable Architecture B2B Rapid Deployment Full-Stack
Three production platforms — full lifecycle ownership, architecture to deployment to support.
| Platform | Description |
|---|---|
| Lisa Luxury Homes | Real-estate platform with dynamic routing, SEO optimisation, and WhatsApp conversion flow. |
| FunFiesta Kenya | Booking platform for a kids' events business. Mobile-first, end-to-end. |
| Rafi | Student mental-health platform: wellbeing tracking, risk detection, counsellor routing. |
Next.js React Node.js REST APIs Vercel SEO
Machine Learning Engineer Intern · JHUB Africa · May – Aug 2024
- Integrated ML models into production systems (React + FastAPI) — owned the model-to-UI connection end to end.
- Designed RESTful APIs bridging backend inference pipelines with frontend components.
- Code reviews and technical presentations to non-technical audiences in async, remote-adjacent teams.
Full-Stack Developer · Independent Clients (Freelance) · 2024 – 2025
- Architected, deployed, and maintained 3 production web applications solo, 100% on-time delivery.
- Owned the full workflow: REST API design, version control, Vercel deployment, SEO, post-launch support.
BSc Computer Science — Jomo Kenyatta University of Agriculture & Technology (Expected 2026)
Data Structures & Algorithms · Artificial Intelligence · Operating Systems · System Design · OOP · Cryptography · Probability & Statistics · Internet Application Programming
Nairobi · signal open · no excuses