About
I spent four years learning how physical systems fail, then decided I was more interested in the data coming off them than the systems themselves. That's the short version of how a mechanical engineering degree from Loughborough turned into an MSc in Data Science and AI at Liverpool.
The MSc finished with a distinction and a dissertation on forecasting S&P 500 volatility — LSTMs against the GARCH family, plus a hybrid that I was certain would win and didn't. That result is written up here, negative finding and all, because being able to explain why something failed is worth more than a clean chart.
I was the technical hire at a small data and automations consultancy — dashboards, pipeline instrumentation, reporting that non-technical people actually read. Most of it wasn't glamorous. It was finding out why a number was wrong, tracing it to a form nobody filled in properly, and fixing the form rather than the spreadsheet.
Outside of it: semi-pro football for a while, a Nike Run Club competition I entered late with no running shoes and won by an embarrassing margin, and a newsletter I abandoned the moment people started reading it. I'm working on that last one.
Education
-
MSc Data Science & Artificial Intelligence
University of Liverpool — Distinction 2025 — 2026 -
BEng Mechanical Engineering
Loughborough University 2018 — 2022
What I work with
Split by what I'd be comfortable being tested on, rather than by what looks good in a list.
Confident
-
Python
Everything I build starts here. pandas and NumPy for the data, Matplotlib when I need to see it. -
PyTorch
Every LSTM in my dissertation. I picked it over TensorFlow because the training loop is explicit — you can see what's happening on each step, which mattered when I was learning. -
scikit-learn
Baselines and preprocessing. The first thing I reach for before anything more complicated, because a linear model you understand beats a deep one you don't. -
Git
Branches and pull requests as a matter of course, including on this site.
Working knowledge
-
SQL
I can read it and write straightforward queries. I'm actively working on this — it's the biggest gap between what I can do and what I want to do. -
Supabase
Where the data sits in my current work. Postgres underneath, so most of what I learn here transfers anywhere. -
n8n
Automation and pipeline glue. Useful mainly because it makes the shape of a broken process obvious. -
HTML & CSS
Enough to build this site by hand, which is why it has no framework in it.