Summary
My route into data was not a straight line, and that is the point. I trained as a mechanical engineer (BEng Mechanical and Production Engineering), then completed an MSc in Applied Data Science at the University of Sunderland.
That background shapes what I build. I write analysis for decision makers: every finding has a size, an owner and a stated limit, and every figure reconciles to a control total. My maintenance work starts from the equipment side of the problem, and my RAG system cites its sources because an unsourced answer is useless in a regulated setting.
Right now I am deepening the production side of the craft through two intensive programmes: a Full Stack Generative AI and Agentic AI Bootcamp and a DevOps, MLOps and LLMOps Engineering Bootcamp. Everything I build is public: the code, the evaluation results and the write-ups. I also build websites for local businesses, which means I ship software that real people use.
Data Analyst · BI Analyst · Reporting Analyst
Data Analyst projects
Business problems with a cost attached, analysed in SQL and Python, reconciled to control totals, and finished with a recommendation and a dashboard. Live dashboards open in the browser.
Card Fraud and Disputes Performance Review
ShippedA fraud engine reported as £135k of losses actually cost £909k. Rule-by-rule evaluation and a change that saves £118k.
£909k true cost vs £135k reported
Synthetic data calibrated to published benchmarks. The case study explains what that means.
Read the case study →Prescribing Variation and Medicines Optimisation
ShippedA GP league table ranks patient age. Standardisation and funnel plots find the real outliers across 6,300 practices.
65% precision vs 47% for the league table
Synthetic data in the NHSBSA schema, with a working extractor for the real API. See the case study.
Read the case study →UK Property Deal Analyser
Shipped2.9 million Land Registry transactions scored to find districts worth an investor's attention, with a Power BI dashboard spec.
2.9M transactions analysed
Manufacturing Downtime & Maintenance Cost Analysis
ShippedWhich machines fail, what downtime costs, and where the maintenance budget should go.
Two failure modes carry 70% of a £2.3M cost
Data Scientist · Applied ML
Data Science projects
Modelling with the decision in mind: imbalanced classification, cost-based thresholds, explanations and drift monitoring. More to come as I finish the next build.
AI Engineer · GenAI Engineer · ML Engineer
AI Engineer projects
LLM systems built the way production teams need them: grounded answers, guardrails, evaluation in CI and observable behaviour.
RAG Compliance & Incident Intelligence Assistant
ShippedAnswers questions over UK health and safety guidance with a citation on every statement, or refuses.
100% source hit on the evaluation set
Multi-Agent Security Operations Triage
ShippedLangGraph agents that classify and prioritise incident reports for human approval, with guardrails and cost budgets.
100% priority accuracy on the golden set
Skills
Analytics & BI
- SQL (DuckDB, window functions)
- Power BI, DAX, Tableau
- Advanced Excel reporting
- KPI design, cost modelling
Statistics & Modelling
- pandas, NumPy, scikit-learn, XGBoost
- Standardisation, funnel plots
- Difference-in-differences, placebo tests
- Model evaluation, SHAP
GenAI & Agents
- RAG with hybrid retrieval
- LangGraph agents
- LLM evaluation (golden-set harness)
- Learning: LangChain, embeddings
Engineering
- Python, SQL, Bash, TypeScript (basic)
- FastAPI, Pydantic, pytest
- Docker, Git, GitHub Actions
- MLflow (optional tracking), drift monitoring
- Linux, Astro, Cloudflare
Working style
- Claude Code, OpenAI Codex (AI-assisted development)
- Reconcile every figure to a control total
- State assumptions and limitations
- Write for non-technical readers
Get in touch
I am open to Data Analyst, Data Scientist and AI Engineer roles across the UK, remote or hybrid, and on-site in Newcastle, Gateshead, Sunderland and Durham. If you are hiring, my inbox is open.