About Me

Software engineer with a Mathematics MSc. I enjoy using mathematical ideas in my projects, and understanding how things work by building them.

Recent projects include a VM Translator and an assembler (from the course From NAND to Tetris), a grep-style regex engine, and revisiting my ray tracer with photon mapping. I work mostly in C++, with projects in Rust, Haskell, Python and Go.

My professional experience is writing Magik for GE Smallworld, which is GIS software dealing with large-scale geospatial databases.

For more information, see my CV or projects.

This site was generated with a custom-built static site generator from the course on Boot.dev. The CSS and HTML template were AI-assisted.