TUI Graphing Calculator
A terminal-based graphing calculator built in C++ with ncurses. It parses mathematical expressions, evaluates functions over a configurable domain and sample count, and renders ASCII-art graphs interactively in the terminal. Computed values can be exported to a whitespace-separated file for use in other tools. The expression parser and evaluator are covered by a Catch2 unit-test suite.
Computational Fluid Dynamics Simulator
A fluid simulator implementing the lattice Boltzmann method in Python. The image below shows the curl of a left-to-right flow around a cylinder, with vortex shedding visible downstream. I plan to rewrite the solver in C++ with support for custom obstacle shapes, with a focus on performance.
AI Image Compression Optimization
An image-compression optimizer that uses a genetic algorithm to balance file size against peak signal-to-noise ratio, so images keep their quality across different compression techniques. Running with a population of 1000 over 200 generations, it compressed the example below from 10.5 MB to 2.4 MB — original on the left, compressed on the right.
AUVic Software Team
I contribute to UVic's autonomous underwater vehicle team, mainly on a Gazebo-based simulator that lets the software team develop and test the 2026 sub without waiting on electrical and mechanical, along with systems validation testing ahead of RoboSub 2026.