Data Scientist at Shift Technology in London, building production fraud-detection systems, and a machine learning researcher working on adversarial robustness and formal verification.
MSc Artificial Intelligence (King's College London, Distinction) and BSc Computer Science with Mathematics (Warwick).
First-authored work on robustness certification for conformal prediction, published at NeurIPS (2024) and extended in Pattern Recognition (2025).
GitHub ·
LinkedIn ·
Scholar ·
Contact
Verifiably Robust Conformal Prediction
Python · PyTorch · Neural network verification
A framework certifying that conformal prediction coverage guarantees survive adversarial input perturbations, combining conformal prediction with neural network verification. First-authored; NeurIPS (2024), extended in Pattern Recognition (2025).
NeurIPS 2024 →
GitHub →
FPL 26/27 Decision Engine
Python · Monte Carlo · Integer programming
A data-driven Fantasy Premier League decision engine: a Monte Carlo projection pipeline, ILP-based squad/transfer optimisation, and a Streamlit dashboard for tracking live squad, fixtures, and decision history. Final squad selections are currently human-in-the-loop.
Live status →
GitHub →
Prime-Safe Opponent Exploitation
Python · Game theory
BSc dissertation (Warwick, supervised by P. Turrini): algorithms that exploit a predictable opponent in imperfect-information games while provably keeping an ε-equilibrium safety margin. Published as an arXiv preprint.
arXiv →
GitHub →
Counterfactual Regret Minimisation in C
C · Game theory
High-performance CFR implementations (vanilla, CFR+, MCCFR) written in C for speed — roughly 10× faster than an equivalent Python version. Computes Nash-equilibrium strategies for imperfect-information games like Kuhn and Leduc poker.
GitHub →
Autoencoder from Scratch
Python · Cython · C
The same autoencoder — two dense encoder/decoder layers, Adam optimiser — implemented three times (NumPy, Cython, raw C) to compare execution speed across language tiers with no framework dependency.
GitHub →