- Relevant coursework: ML Theory, RL, Control Theory, Probability & Statistics, Operating Systems, Matrix Algebra & Optimization
Hanhee Lee (이한희)
Engineering Science, Machine Intelligence
University of Toronto
Hi, I'm Hanhee Lee, a 4th-year Engineering Science, Machine Intelligence student at the University of Toronto, graduating May 2027.
Leading the 100-person engineering department at UTMIST. Previously worked on speech and audio ML (CLAP source separation, LLM TTS with GRPO, synthetic data) at Huawei, an agentic tax-recommendation worker at Savi Finance, and PEMFC modeling at the National University of Singapore.
I like taking ML end-to-end into something people can actually use. That's how IMI Big Data & AI (1st place, $15,000) and Eyas (Best Agent, Hugging Face Build Small Hackathon) came about.
Outside of ML, I do endurance sports — 2 Ironmans and 4 marathons so far — and film along the way.
The best way to know me is a conversation. Reach me by email (hanheeeng [dot] lee [at] mail [dot] utoronto [dot] ca) or LinkedIn. See experience or my CV for the details.
"If you only do what you can do, you will never be more than you are now." — Master Shifu
News
- Aug 2026 Started as VP Engineering at UTMIST, leading the 100-person engineering department.
- Jul 2026 Shipped Eyas, an on-device CCTV agent, and won Best Agent ($1,000) at the Hugging Face Build Small Hackathon.
- Jul 2026 Finished Ironman Lake Placid.
- Apr 2026 Placed 1st ($15,000) in the IMI Big Data & AI Competition (AML detection platform).
- Sep 2025 Started as a Machine Learning Research Engineer at Huawei (Toronto), working on speech and audio ML.
- Aug 2025 Finished Ironman Ottawa.
- Aug 2024 Completed summer research at NUS on PEMFC performance prediction (dual MLPs + design search).
Education
Experience
- Optimized contrastive language-audio pretraining (CLAP) embeddings for source separation, achieving +1dB SDRi across 7 classes
- Built a data-cleaning pipeline using large foundation models over ~120k samples, filtering 25% of leaked or misclassified audio
- Implemented SFT and GRPO with emotion rewards on an LLM-based TTS model, resulting in +15% Emo2Vec accuracy and expressiveness across 6 emotions
- Built a 2-stage, scalable synthetic data pipeline producing ~1000 hours of audio
- Built an agentic tax-recommendation worker that returns structured JSON deduction recommendations
- Shipped 2 Mongoose schemas and 7 GraphQL resolvers for recommendation lifecycles on edge devices
- Enforced schema-validated agent outputs across 12 financial recommendation types
- Trained a 50k-parameter MLP for fuel-cell dynamics, achieving 3% MAE on an unseen test set
- Developed a genetic search algorithm over the MLP objective to design fuel cells, validated in COMSOL simulation at 2% error
- Tuned hyperparameters with Optuna across 30+ configurations, cutting iterations by 40% and MAE by 15% vs. grid search
- Leading a 100-person Engineering Department across 12 ML project teams
- Directed 4 technical teams (~40 developers) to 4 UTMIST showcase projects
- Standardized project proposal and repository templates, reducing onboarding time and siloing
Projects
Click a project to expand.
IMI Big Data & AI: AML Detection Platform 1st place · $15,000 Pattern-based AML detection, SHAP explanations, and a Next.js knowledge library on synthetic Canadian banking data. github · slides · linkedin
- Engineered 44 features across 61k customers, mapped to 254 FINTRAC-backed red flags
- Selected Isolation Forest for anomaly scoring under ~1% label scarcity
- SHAP explanations mapping top features to AML patterns under a 4-tier risk model
- Shipped as a Next.js app (knowledge library, predictions, React Flow graph)
Eyas: AI Security Camera Agent Best Agent · $1,000 On-device CCTV agent for small retail — tracking → VLM → LLM reasoning, bilingual UI, Gradio demo on Hugging Face Spaces. github · space · demo video · field notes · linkedin
- Constraint: on-device, no cloud inference; ~8.7B params on a laptop CPU (Best Agent among 817 teams)
- Pipeline: YOLO11n+BotSORT → MiniCPM-V → Nemotron 3 Nano 4B → TinyAya + VoxCPM2
- JSON-schema event logging within a 4096-token context budget
PEMFC Performance Prediction & Design Optimization Dual MLPs for PEMFC thermal/pressure prediction (~3% MAE) plus genetic design search (~2% error vs. COMSOL). github · live demo · presentation
- Dual MLPs (43,961 parameters) for thermal/pressure modeling, ~3% MAE
- Genetic search over those networks as objectives, ~2% error vs COMSOL across 50+ scenarios
- Optuna over 30+ configs: −15% MAE and −40% training time vs grid search
DeepSlop Detector: AI-Generated Image Detection in progress Shared PyTorch data pipeline over 10+ AI-forensics datasets, transfer-learning baselines across CNN/ViT backbones, and a standardized evaluation harness against 43 diffusion generators. github
- Unified PyTorch loader over 10+ forensics datasets (local + HuggingFace streaming)
- Transfer-learning baselines (ResNet, ViT, EfficientNet, ConvNeXt) plus frequency/spatial-domain features
- Evaluation harness against 43 diffusion generators via torchmetrics
- Led the ML engineering team (~10 contributors); in progress, no published accuracy
InstruNET: Multi-Instrument Identification 82% accuracy on multi-label instrument classification across 14 instrument classes, +10% over Google's YAMNet baseline, with a 950K-parameter CNN. github · live demo
- 3-layer CNN (950K params), multi-label so overlapping instruments are handled
- SMOTE + class balancing (+25% dataset diversity); instruments with <10 samples dropped
- Evaluated against YAMNet as the comparison baseline
Smart Fit: Wearable Exercise Classification 96% accuracy classifying 6 barbell exercises from wearable accelerometer/gyroscope data. github
- Compared Random Forest, Neural Networks, Decision Trees, and KNN
- 15+ temporal/frequency features (low-pass, PCA, frequency abstraction), +10% vs raw-signal baseline