I am a Computer Engineering major at Simon Fraser University, currently working through the capstone sequence. My largest interests are game development, hiking, and reading. I have a passion for solving problems, and I love programming.
Recently I have been having fun creating personal projects that use edge machine learning, like my TTS book reading system, and my EMG Capstone. I have also had fun applying engineering principles to a new hobby of making RC airplanes.
From my young start of building cardboard forts, creating massive popsicle stick boats, and making lightweight gliders, I have progressed to working on embedded software, game development, mechanical design of soccer playing robots, and studying to become a computer engineer at SFU.
A 16-channel sEMG wristband that calibrates to its wearer, recognizes gestures on an ESP32-S3, and sends phone media keys over Bluetooth. I owned gesture recognition and the data and dashboard tooling; the final build demonstrated two commands end to end.
A published Vintage Story mod, downloaded about 5,000 times. Place a frame, pick a blueprint, chalk the cuts, and chisel your way to a statue. It converts 3D scans into voxel blueprints in-game.
Designing and building fixed-wing RC aircraft from requirements rather than from a kit: a written spec, a constraint analysis tool that sizes the aircraft against it, an airfoil converter for CAD, and two airframes in foam and 3D print.
A group project for the ENSC 351 class at SFU. My team built a bench top CNC solenoid winding machine with a C-axis spindle and Z-axis traverse. I wrote the control software in Rust, running on a BeagleY-AI with a TUI for local and remote operation.
A personal project. A client-side digit classification system. The page contains a canvas for the user to draw on, which gets classified locally by a convolutional neural network. It runs in real time using a WASM and web worker structure.
Team head of the the mechanical sub-team at SFU Robot Soccer club.
A personal project. A simulation about evolution via natural selection. The creatures brains and bodies evolve as they compete for limited resources. WASD for camera movement, scroll wheel to zoom, and left click for selection (to open the info panel for creatures).
A personal project, made for a game jam. In the arcade-like puzzle and finesse game, Break it Down, your goal is to deconstruct objects with your AI partner. Choose the right tool for the job, but be quick; you will get less time per deconstruction as the game progresses.
A group project for the ENSC 100W class at SFU. My team designed an automatic window actuation system, to control a room's temperature using the outside air. It uses an inside temperature sensor, external weather data, and the time of day to control the actuation of a window.