I study how machine learning systems fail under real-world stress, and how evaluation practices shape what we can claim about them. My work spans fault injection and robustness in neural networks, reproducible benchmarking of ML and LLM systems, and applied reinforcement learning for health behaviour change. I am interested in practice-oriented methods that make reliability claims testable outside the lab.
Longitudinal evaluation of a coding-agent harness over a multi-month horizon with the model fixed, using a custom research runner, pinned tasks, repeated trials, and cost and provenance controls.
Benchmarking framework for bias in small language models, covering StereoSet, WinoBias, CV screening, and demographic output-length disparity. Evaluates how bias changes across model size, family, and release date.
Config-first simulation environment for Just-in-Time Adaptive Interventions (JITAIs) with bandit and RL baselines, heterogeneous user models, and an LLM user simulator.
Exploratory multi-agent reinforcement learning framework with PPO agents and a Gymnasium-compatible electricity-market bidding environment.
A novel framework in Python with PyTorch for evaluating neural networks in harsh environments. Proposed two novel activation functions that proved more robust to SEE-related errors.
Research project with Milbotix developing novel time-series features and neural-network classifiers for ankle-based PPG signal-quality classification, evaluated with AUC and ROC metrics.
Open-source RTS agent benchmark built on a pinned OpenFrontIO engine, with scripted and MCP-based agents, replay verification, and analytical policy baselines.
ML benchmarking framework for climbing route prediction. Designed a reproducible evaluation protocol with 5-fold retrain-per-fold cross-validation, tested 8+ model architectures (MLP, LSTM, CNN, Transformer, Ridge, Perceptron), and established a non-tree leaderboard. Built dataset augmentation pipeline with hold-swap tokenisation and identified/patched data leakage bugs.
Three-part guide series on building chess bots, plus a CNN-based chess agent for automated play, covering minimax search, GUI tooling, and end-to-end evaluation.
Reinforcement-learning trading agent using linear features.
Built an evolutionary learning algorithm from scratch to play snake at a human like level using neural networks.
Averaged 366% yearly ROI trading on the Steam marketplace web scraping data.