Eric Nie

ECE @ Waterloo

Experience

Software Engineering Intern @ Maple ArmorJun 2026 – Aug 2026
Software Engineering Intern @ Bank of Canada
Sep 2025 – Dec 2025
Software Engineering Intern @ Monologix Inc.Jan 2025 – Apr 2025
Machine Learning Engineering Fellow @ AI CampJul 2023 – Aug 2023

Projects

Custom Macropad

Custom macropad 3D render from KiCad
KiCadQMK FirmwareCFusion 360RP2040

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.

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.

Exoplanet Classifier

PythonFastAPIDockerscikit-learnAWS

Ensemble ML pipeline processing NASA Kepler data with 82.3% accuracy. Containerized and deployed on AWS EC2.

Air Quality Monitor

Air quality monitor prototype with wiring and AQI display
STM32Embedded CI2CUARTSensor DriversSignal ProcessingReal Time SystemsFusion 360

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.

Quartz

PythonAssemblyDigital LogicCPU DesignNeural Networks

8-bit computer built from a NAND gate up to a working CPU. Runs a neural network it trained itself (XOR and a digit classifier) at the gate level, with no PyTorch or NumPy.

Product Matcher

Product Matcher demo extracting specs from a product photo
PyTorchFlorence-2LoRASigLIPFAISSGradio

Dual model pipeline that reads product specs from photos and finds matches across a 182k item catalog where finetuned Florence-2 (LoRA) extracts specs from images; a SigLIP contrastive model drives visual similarity search over a FAISS index.

Globe Speak

Globe Speak interactive 3D globe translation interface
TypeScriptVueTailwindNode3D GlobeText-to-Speech

Translate English into languages around the world and hear the result out loud, plotted on an interactive 3D globe.

VidShuffle

JavaScriptReactReduxGeminiYouTube APIVercel

Shuffles YouTube playlists & pulls each video's transcript and feeds it to Gemini for insights and categorize what the playlist actually covers for better nav than just thumbnails and titles.