Robotics and AI

A mobile robot capable of navigating the boiler room of a nuclear power plant and autonomously performing pipe thickness measurements and collection of other relevant data. Engineering Capstone project. I focused largely on the software systems, particularly the vision system and interface to the robot arm.

A mobile robot that autonomously traverses an obstacle course, including ascending and descending a ramp and locating a variable end point. Developed as part of the MTE 380 design project course at the University of Waterloo. I worked primarily on the robot's software, including the signal processing, movement, and state machine.

An LSTM-based neural network architecture designed to perform lip-reading. Achieved an average accuracy of 86.30% when reading the lips of a known speaker.


A web-based simulation of flocking birds being hunted by predators.

A curses-based version of Conway's Game of Life that allows for multiple species of cell, written in Python.

A simulation of bodies with gravitational attraction and elastic collisions in two dimensions.

A collection of fractals including the dragon curve, Sierpinski triangle, Mandelbrot set, and Koch snowflake.