
Novel convolutional networks that identify a subject from resting-state EEG, as the basis for a privacy-preserving biometric. Includes the training pipeline behind it: feature extraction, preprocessing, deployment and edge compute.
Hover a thumbnail to play it.

Novel convolutional networks that identify a subject from resting-state EEG, as the basis for a privacy-preserving biometric. Includes the training pipeline behind it: feature extraction, preprocessing, deployment and edge compute.
A demonstration that a video call proves nothing about who is on it. Hijacking the virtual camera driver puts a real-time face swap into a live Zoom call, so the far end sees a face that was never in front of the lens. Built quickly and used in investor conversations to make the case for camera integrity.

MRes thesis. Gaze tracking drives a virtual UR10 robot in Unity: decoded eye-fixation classifications are paired with machine learning and an action grammar to address the Midas touch problem in gaze selection.
A reproduction of Tayeb et al. on decoding motor imagery from EEG, read through memory-equivalent capacity. The shallow methods do not reproduce, and the deep models’ reported 95% accuracy comes from sliding windows and 5-fold cross validation leaving the same trial in both training and test.
Open-source automation for production Kubernetes clusters. Commits flow through build and high-level-definition pipelines into resource manifests, with Terraform provisioning underneath and a service introspection dashboard tracking each deployment end to end.
Summer residency in the robotics group: an algorithm in C++ used to study predictive reward behaviour in a humanoid platform, alongside work on motor control and tactile servoing.