About

hello

I'm a Nanotechnology Engineering student at the University of Waterloo who ended up somewhere between the hardware bench and the data pipeline — and I've stopped trying to pick a side.

My work has taken me from calibrating a gas chromatograph in an isotope lab to designing bio-mechatronic systems at home. The biggest of those is my MyoElectric Arm, where I built the EMG signal acquisition circuit around an instrumentation amplifier. From there my projects have stretched all the way to training ML models on real semiconductor fab data and being honest when they didn't generalize.

I'm most interested in the layer where hardware and software have to talk to each other — embedded firmware, signal processing, the data tools that make sense of what sensors actually measure. Long term, I want to bring that into medical devices.

Outside of class I'm the Engineering Society NE '30 representative and a Nanotechnology academic rep, and before Waterloo I was SHAD valedictorian. I'm looking for a Winter 2027 co-op in hardware, embedded, data or software. When I'm not in the lab or debugging a pipeline, I'm probably iterating on the EMG hand.

Scroll

Overview

Kitchener, ON

I design the hardware that measures things and the software that makes sense of the measurements.

I study Nanotechnology Engineering at Waterloo. On the hardware side that's analog front ends, embedded firmware, motor control and CAD; on the data side it's Python pipelines, statistical process control and honest model evaluation. Long term, I want to bring nanotech into medical devices.

Currently Oct 2026

  • BUILDINGThe EMG hand's signal chain as a tested DSP pipeline, and rectify → smooth → PWM in Verilog.
  • DESIGNINGBio-mechatronic system architecture at the UW Biotron.
  • LOOKINGWinter 2027 co-op in hardware, embedded, data or software.

Projects

4 entries · click to expand
Real fab data · s059

Fab Root-Cause Analysis

data · 2026

Root-cause analysis on real semiconductor fab data: control charts found the process excursion; time-ordered testing showed what a model could and couldn't predict.

  • Python
  • SQLite
  • SPC
  • scikit-learn
  • SHAP
  • Streamlit
1,567production runs
590sensors per run
6.6%runs failed

I loaded the SECOM dataset into SQLite, then used statistical process control to find a July–August process excursion in three sensors (s059, s103, s510), and trained logistic regression and gradient boosting to predict failed runs.

Result: random cross-validation made the model look useful (PR AUC 0.175), but a time-ordered split, the way a fab would actually deploy it, put it at chance (0.067). It had learned August's failure signature; October's spike had a different cause.

I then replayed Aug–Oct with weekly retraining: a 4-week sliding window started catching October failures on the first day of the spike, where a train-once model caught none. With 75 failures that's directional, so I report it with day-level bootstrap confidence intervals. Per-run SHAP explanations and a Streamlit dashboard let an engineer pick a run and see its risk, top sensor drivers and control charts.

Control chart for sensor s059 showing the July–August excursion
Fig. 1: s059 individuals chart, limits from a Sep baseline
Precision-recall curves on later runs, inside the random band
Fig. 2: precision vs recall on later runs
Code on GitHub ↗
Live signal
RAWRECTENVservo 10°

EMG-Controlled Robotic Hand

hardware · in progress

A from-scratch EMG front end that turns forearm muscle signals into proportional servo control of a robotic hand.

  • AD8221
  • Analog filtering
  • Arduino
  • DSP
  • three.js
  • Verilog

I designed and simulated the hand in three.js, then built a precision signal-acquisition circuit: an AD8221 instrumentation amplifier and filtering stages pull microvolt-level muscle signals from forearm surface electrodes.

Arduino firmware turns those real-time signals into proportional servo control, so the wearer's forearm activity drives the hand directly. Next: the processing as a tested DSP pipeline with CI, and the rectify → smooth → PWM chain in Verilog.

Scope capture of raw, rectified and envelope EMG channels
Fig. 1: raw, rectified and envelope channels
3D model of the robotic forearm with Arduino, AD8221, servo and electrodes
Fig. 2: forearm model with electronics
Hackathon

ConnectEDU

software · hackathon

Structured guidance-counsellor booking on the Google Calendar API, plus an AI chatbot trained per school and district.

  • Full-stack
  • REST APIs
  • LLM integration
  • Google Calendar API

ConnectEDU gives schools an organized way for students to book appointments with guidance counsellors, replacing ad hoc scheduling with a structured booking flow on the Google Calendar API.

A custom-trained AI chatbot answers students' immediate questions, trained per school and per district so each institution's bot reflects its own rules.

Code on GitHub ↗
SHAD3D model of the compact wind turbine

Compact Wind Turbine

CAD · team lead

A smaller wind turbine that keeps its energy-generation efficiency. I led the team and did the full CAD and simulation.

  • CAD
  • Simulation
  • Prototyping
  • Leadership

A SHAD team design challenge: shrink a wind turbine without losing energy-generation efficiency. As the team's mock CEO I led every stage, and I personally completed the full CAD, 3D design and simulation. The team built a physical prototype alongside the CAD model to validate the smaller form factor.

Three CAD views of the compact wind turbine
Fig. 1: CAD views

Experience

3 roles

Bio-mechatronics Systems Design

University of Waterloo Biotron · Waterloo, ON

Oct 2025 – Presentongoing
  • Defined system architecture, requirements, and interfaces across sensors, actuators, motor drivers, and control.
  • Wrote design specifications to guide component selection and hardware–software integration.

Isotope Laboratory Research Assistant

University of Waterloo · Waterloo, ON

May – Sept 2026
  • Operated, calibrated, and troubleshot analytical instrumentation including a gas chromatograph, isolating hardware versus performance faults through systematic root-cause analysis.
  • Prepared and analyzed environmental DIC and DOC samples, applying instrument diagnostics to keep measurements accurate and reproducible.

Quality Assurance Analyst

TAMVOES Health · Kitchener, ON

Oct 2023 – Jan 2024
  • Designed and executed test cases for backend edge cases and failure modes, documenting and tracking bugs to improve reliability.
  • Communicated defects and test results to cross-functional developers, supporting iterative releases.

Toolbox

bill of materials
SubsystemComponentsQty
Embedded & electronicssignal in, motion outArduino, ESP32, AD8221 instrumentation amps, analog filtering, motor drivers, servo control, DSP, PCB design (KiCad), Verilog (learning)09
Programminglanguages & servicesPython, C, C++, Java, MATLAB, SQL, REST APIs, LLM integration, CI09
Data & MLfrom measurement to decisionNumPy, Pandas, SciPy, scikit-learn, SHAP, statistical process control, time-series validation, bootstrap CIs, Streamlit, SQLite10
DesignCAD & visualizationSolidWorks, AutoCAD, KiCad, three.js04
Labbench & instrumentsGas chromatography, instrument calibration and troubleshooting, sample preparation, microfabrication04

Education

BASc

Nanotechnology Engineering, University of Waterloo

2025 – 2030
Coursework
NE 140 Linear Circuits · NE 111 Python Fundamentals
Leadership
Engineering Society NE '30 Representative · Nanotechnology Academic Representative
Before UW
SHAD valedictorian