Matthew Goodman

Who am I:

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.

My Projects:

The final Opal prototype worn on a forearm.

Opal EMG Wristband

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.

  • Rust
  • Svelte
  • Embedded
  • ESP32-S3
  • ADS1298
  • WiFi
  • BLE
  • Edge ML
A carved voxel angel statue lit by the sun.

Statue Shaper (Vintage Story Modding)

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.

  • C#
  • Modding
  • Blender
  • Parallelization
The finished Sandpiper airframe on a workshop floor.

Remote Control Aircraft Design

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.

  • Python
  • Onshape
  • XFLR5
  • flow5
  • Numerical Optimization
The assembled solenoid winding machine.

Solenoid Winding Machine

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.

  • Rust
  • Linux
  • RT
  • Ratatui
  • BeagleY-AI
  • RS485
  • SPI
Screenshots showing the digit classification client.

Digit Classify

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.

  • Rust
  • WebAssembly
  • Web Workers
  • CNN
A screenshot from the Frontier game.

Frontier

A singleplayer management game made in 14 days for the 2024 Pirate Software Game Jam. Read more here, or follow this link to play the game in your browser on Itch.io.

  • C#
  • Unity
  • Blender
  • WebGL
A render of the partially assembled Robot.

Robot Soccer

Team head of the the mechanical sub-team at SFU Robot Soccer club.

  • SolidWorks
  • Mechanism Design
A screenshot from the Evolution game.

Evolution

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).

  • JavaScript
  • Neural Networks
  • Evolution
  • Simulation
A screenshot from the Break it Down game.

Break it Down

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.

  • C#
  • Unity
  • WebGL
  • Procedural Animation
A picture of a motorized window.

Automatic Window System

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.

  • C++
  • Arduino
  • ESP8266
  • OpenWeather API

mpg3@sfu.ca, linkedin ยท Updated 2026-08-13