Voxogram Volumetric Display
Fourth-year capstone with a team of four. A volumetric display that uses a rapidly rotating screen to render true 3D content viewable from any angle.
Embedded software & FPGA developer and Computer Engineering grad from the University of Waterloo.
I'm an embedded software and FPGA developer at Extentcom, working on custom wireless communication systems. Earlier co-op terms gave me experience across the stack, from RTL and firmware to full-stack web development. Lately I've also been using AI coding tools on side projects, including this site.
Outside of work I tinker with IoT projects (ESP32 and Arduino builds, Home Assistant automations), 3D printing, and my desk setup. I also enjoy reading, video games, sports, and fitness, with a long-running interest in space exploration.
Download my resumeBuilding high-performance hardware for custom wireless communication systems used by industrial, government, and defense customers. I develop FPGA designs across multiple vendor toolchains, including vendor-agnostic implementations of shared components, and write embedded C for ARM-based hardware.
Worked on patient scheduling and medication/pharmacy tracking in Java and React. Led a React rewrite of an internal message simulation tool that ended up being considered for customer-facing use.
Worked on the IAM team rolling out tenant-wide MFA (biometric and SMS) with Auth0. Also upgraded an internal advisor onboarding app running React, Redux, and Django in Docker.
Automated product lifecycle management processes by writing Windchill workflows in Java, and supported CAD tooling and document version control.
Fourth-year capstone with a team of four. A volumetric display that uses a rapidly rotating screen to render true 3D content viewable from any angle.
Desktop tool built with Java and Processing that animates sorting algorithms step by step as they run.
A C-based RTOS running on a microcontroller with memory management, inter-task communication, console I/O, and a real-time scheduler.
A systolic-array matrix multiplier written in Verilog and deployed on an FPGA board using Quartus.
Arduino-controlled camera rig using a stepper motor and two servos for motorized pan, slide, and tilt.
Autonomous rover that navigates around obstacles using ultrasonic sensors and an Arduino.
Applies a modified greedy algorithm to input elevation data in Java to determine an optimal traversal path across terrain.