Virtual Omnichord
STM32CReactTypeScriptWebSerialAWS
STM32 firmware handling GPIO and ADC inputs, streamed via UART to a React frontend with WebSerial-driven audio synthesis. Containerized and deployed on AWS EC2.
ECE @ Waterloo
STM32 firmware handling GPIO and ADC inputs, streamed via UART to a React frontend with WebSerial-driven audio synthesis. Containerized and deployed on AWS EC2.

Custom 6-key mechanical keyboard PCB with 2x3 switch matrix. SK6812MINI-E RGB LEDs daisy chained beneath keypads, and EC11 rotary encoder, and SSD1306 OLED over I2C. 3D-printed case, and QMK firmware.
Ensemble ML pipeline processing NASA Kepler data with 82.3% accuracy. Containerized and deployed on AWS EC2.

Modular embedded firmware for air quality monitoring: custom BME680 driver implementing Bosch compensation algorithms, WMA signal conditioning, checksummed UART protocol for multi-device networks, and SSD1306 OLED graphics rendering.