Ask me anything

Portfolio

Production AI, GenAI & MLOps Projects

Case studies with an emphasis on architecture, constraints, and operational thinking.

Selected work

These pages focus on architecture, constraints, technologies used, and the operational thinking behind each build.

Production RAG Chatbot (Enterprise application)

Production RAG Chatbot (Enterprise application)

Led architecture and delivery of a production-grade RAG chatbot for John Lewis Partnership's internal workforce — from first line of code to 90% adoption in one week. Drummie answers HR, policy, and operational questions …

Python, Google Cloud Run, Gemini API, RAG, LangChain, Vector Store, Google Chat API, GCP

Read project
The Prediction Factory: Designing an ML Platform from First Principles

The Prediction Factory: Designing an ML Platform from First Principles

Defined and delivered JUMO's internal ML platform from first principles — a config-driven orchestration layer that scaled model training from ~1 model per week to 50+ models per day, automated deployment pipelines, and established …

Python, Kubernetes, FastAPI, MLflow, Airflow, AWS S3, DynamoDB, EMR on EKS, Great Expectations, Datadog, PagerDuty, Docker

Read project
Production ML Monitoring: From Weeks to Minutes

Production ML Monitoring: From Weeks to Minutes

Designed and built a real-time model monitoring system at JUMO that reduced data anomaly detection time from weeks to minutes. The system automated batch scoring with Airflow-orchestrated Kubernetes jobs, computed PSI and CSI metrics …

Python, Airflow, Kubernetes, Great Expectations, Datadog, PagerDuty, AWS EKS, S3

Read project
Transaction Categorisation Engine — Investec

Transaction Categorisation Engine — Investec

Built an intelligent transaction categorisation engine for Investec Private Banking that reduced manual labelling effort by 60%. The system uses a fine-tuned BERT model trained on proprietary tokenised transaction data, with a novel visual …

Python, BERT, PyTorch, Scikit-learn, Hadoop, Spark, Azure

Read project
Epidemic Modelling — Médecins Sans Frontières

Epidemic Modelling — Médecins Sans Frontières

Productionised ML models for epidemic modelling in remote, low-resource environments for Médecins Sans Frontières (MSF). This pro bono engagement applied mathematical epidemiology expertise to real-world public health challenges, bridging the gap between research models …

Python, Mathematical Modelling, SciPy, NumPy, Docker

Read project
ChatVitae — RAG-Powered CV Assistant

ChatVitae — RAG-Powered CV Assistant

A live retrieval-augmented generation (RAG) system that lets visitors interrogate my career history, architecture decisions, and technical background in a conversational interface. Built with LangChain and deployed on this site as a working demonstration …

Python, OpenAI APIs, LangChain, Django, RAG, Vector Store, Docker

Read project
BiteByte: Multi-Agent Orchestration for 80% Latency Reduction

BiteByte: Multi-Agent Orchestration for 80% Latency Reduction

BiteByte v2.0 extends my original meal-planning concept into a structured multi-agent system, achieving ~80% latency reduction (from 1min+ to ~20 seconds) by decomposing responsibilities across specialised agents. The architectural patterns were subsequently adopted for …

Python, OpenAI APIs, LangChain, Agentic AI, Multi-Agent Orchestration, Latency Optimisation, Django, Docker

Read project
Sealify — AI-Assisted Legal Drafting

Sealify — AI-Assisted Legal Drafting

A legal drafting prototype for NDAs that demonstrates structured generation and professional review workflows. Sealify uses AI to generate initial drafts from structured inputs while maintaining clear boundaries between AI-generated content and professional legal …

Python, OpenAI APIs, LangChain, Django, Docker

Read project