Journey
A short timeline — from applied mathematics research to performance-focused AI frameworks engineering.
-
Creator ·
cmakefmtBuilt a fast, correct CMake formatter in Rust as a replacement for the unmaintained
cmake-format. Includes an LSP, format-on-save in five editors, and a single dependency-free binary; on average 100× faster thancmake-format. -
Senior Software Engineer, AI Frameworks · Arm
Upstream Lead for Arm's Tool Solutions, integrating contributions across PyTorch, oneDNN, Arm Compute Library, and OpenBLAS into shippable Arm-optimised builds.
- Re-established public AArch64 Docker releases for PyTorch builds in Tool Solutions, meeting Arm distribution policy on SBOMs, vulnerability handling, threat modelling, and release governance.
- Upstreamed LLaMA inference improvements on Neoverse — routing matmul plus JIT post-op through Arm Compute Library's optimised path instead of the slower reference path.
- Built Python tooling to automate SBOM maintenance across package adds, removes, and updates, cutting manual work and release risk on every framework drop.
- Integrated
ccacheinto Tool Solutions with the required upstream PyTorch changes, shortening CI Docker builds and local rebuild iteration. - Led the organisation of AI Days for a 500-engineer department and presented recent open-source work at Arm's AI Summit in Cambridge.
-
Senior Imaging Algorithms Engineer · Arm
Built imaging algorithms and engineering tooling for Arm's ISP pipeline.
- Reimplemented C++ ISP blocks with trainable PyTorch tensor ops as part of a differentiable-ISP project.
- Developed RGB reconstruction algorithms for automotive RGB-IR sensors, where infrared-sensitive sites replace some green photosites and otherwise break downstream blocks.
- C++/LibTorch performance work for accelerating image quality metrics processing.
- Hands-on time in the Image Quality labs working with calibration charts, IQ metrics, and tuning workflows; ran auto-focus testing and evaluation on prototype devices.
- Built a
PyBind11wrapper for GoPro'sGPRC++ library, enabling direct RAW image loading and manipulation from Python. - Automated Android image capture via a Python wrapper around
adbfor repeatable data-collection runs.
-
Part-time maintainer · oomph-lib
Rewrote the project's Autotools build system with CMake and continue supporting finite-element tooling for PDE research.
-
PhD in Applied Mathematics · University of Manchester
Thesis: The Direct Computation of Time-Periodic Solutions of PDEs With Applications to Fluid Dynamics. Supervised by Prof. Matthias Heil and Prof. Andrew Hazel.
- Implemented a space–time formulation that solves for periodic orbits directly as a boundary-value problem — sidestepping the long transients of time-stepping and reaching unstable branches it can't.
- Built the method inside oomph-lib, the open-source C++ finite-element library whose Autotools build system was later rewritten in CMake.
- Two papers in Journal of Fluid Mechanics, plus an invited Focus on Fluids commentary on the 2021 paper.
- Taught mathematics tutorial classes, presented at international conferences, and authored annual technical reports in LaTeX.
-
MMath Mathematics · University of Manchester
Four-year integrated master's in Mathematics. Graduated with First-Class Honours.