Introduced to coding in secondary school, I've now shaped a solid software engineering foundation through experiences at ICL, Cambridge Consultants, Plei, Inc, ManholeMetrics, CloudNC and QRT. I've navigated through challenges like building components of an operating system and crafting a compiler, leveraging C/C++, JavaScript, Python, PHP, and Clojure - and I have made use of Java, Haskell, Kotlin and Rust to various degrees as well, be it for university courseworks, personal experimentation or projects in the work place. Outside of professional projects, I enjoy reading about programming - currently I'm reading about software architecture and high performance programming in modern C++. When I'm not coding, I enjoy reading, taking photos with my Nikon D3300, and learning about philosophy and psychology. Feel free to connect – always open to discussing tech, projects, or shared interests.

Worked in C++23 with Kafka, libuv, ClickHouse and other technologies for high throughput data processing.
Developed a program to use Spatial's CGM and InterOp libraries for feature detection, and working on a system to quantify the quality of a machining approach using explainable machine learning
Worked on refactoring a large modular codebase, and achieved a 5x speedup for installing firmware on an embedded device by designing and building a small circuit and accompanying software to utilise it
Spent about a year working on a broad range of projects ranging from benchmarking Quantum crpyto algorithms on embedded devices to building systems to capture and transmit live streamed footage from an NVIDIA Jetson to a browser
Learnt Unity to update and fix bugs in a project which utilised Unity to simulate collisions and render videos of them
Had a hand in developing a Nativescript based mobile app and the payments system for a startup which aimed to make scheduling football matches easier
Imperial MEng Computing & AI Final Year Project: an AI optimisation framework for collaborative early exit neural network inference
An app with a web UI that allows you to pass in a model and run the membership inference and gradient inversion attacks on the model, for the context of model privacy in federated machine learning
This was the operating system fundamentals coursework, in which I worked with a group of 3 other people to implement user space application support, scheduling and virtual memory management.
Developed a flexible command line tool which allowed for the detection (and removal) of high level features such as pockets, chamfers and fillets using Spatial's SDKs, and then allowed for extraction of data about those features into JSON, or visualised the detected features in 3D alongside the original model
In this project I, with 3 other course mates, implemented a compiler from WACC to assembly and for the extension I implemented part of a reference counting garbage collector.