Projects

#Python#RAG#LLM#NLP#FastAPI#Streamlit

RAG pipeline that parses 243 EU food regulations, routes products to applicable laws deterministically, and extracts compliance checklists with zero hallucinations.

#Python#Data Pipeline#ML#Web Scraping#Streamlit

Analyses 2.57M EU food products to identify where retailers can launch health-positioned private label products into underserved nutritional gaps.

#Python#ML#Data Pipeline#Streamlit#Recommender Systems

Multi-source data pipeline and hybrid recommendation engine that identifies underserved game niches on Steam, scoring 140,000+ market opportunities with revenue estimates.

#Python#CLI#AI#Claude#Automation

AI-powered CLI tool that automates job hunting: searches the web for relevant positions, intelligently filters based on your background, and generates tailored cover letters as professional PDFs.

#Python#ML#LightGBM#Kaggle

Cost-sensitive fraud detection achieving 97.4% AUC and $447K annual savings. Features time-based CV and business-optimized thresholds.

#Plotly#Tableau#Python#DataViz#WebScraping

A data viz project to create an interactive world map showing wine imports and exports. Can also map other traded commodities using the UN's Comtrade data.

TAORG

TAORG

2025
#JavaScript#React#App#Fun

The Animal Opposite Rhyming Game is a game I've been playing with my children for years. I decided to make a wordle-style web app based on it. Have a go!

#Python#SQL#ML#GCP

SaaS product for SEO productivity incorporating ML features. I developed the backend (Python), database (BigQuery) and prototype frontend (Retool) whilst working at Blink SEO.

#Python#SQL#PostgreSQL#Workflow

A job-queue system for triggering backend Python tasks from a web application. Created whilst working at Blink SEO to fill a need for a scalable and reliable system with a flexible API.

#Python#Pandas#Data#APIs

A Python package for standardising and exporting Google Analytics, Google Ads, and Search Console data as a Pandas DataFrame, ready for analysis or storage. Created whilst working at Blink SEO.

#PhD#MATLAB#Research#Climate#Mathematics#Time Series

Analytical foundation for power spectrum indicator. Proves robustness against trends and periodic oscillations. Applied to paleoclimate ice-core data. Published in ERL.

#PhD#MATLAB#Python#Research#Climate#Mathematics#Dynamical Systems#Time Series

PhD research on detecting early warning signals for critical transitions. Developed novel methods applied to climate data and tropical cyclones. Published in EPL, Chaos, and ERL.

#PhD#MATLAB#Research#Mathematics#Dynamical Systems

Extending early warning signals to multivariate and gridded data. Developed stochastic hurricane model and spatial analysis methods. Published in Chaos.

#PhD#MATLAB#Research#Mathematics

Novel power spectrum scaling indicator for early warning signals. Applied to tropical cyclone prediction where traditional indicators fail. Published in EPL.

#MRes#OpenFOAM#Python#Research#Mathematics#Numerical Methods

MRes thesis on adaptive mesh generation using optimal transport and the Monge-Ampère equation. Developed a novel parameter-free linearisation method for numerical weather prediction.

#JavaScript#React#Education

A series of games I made during my time teaching Maths to High School students.

#JavaScript#React#Education#GraphTheory

A tool for my undergraduate dissertation. Explore directed graphs and calculate the number of paths through them.