Experience

Undergraduate Researcher (NLP)

May 2026 -- Aug 2026

Entity-Aware LLM Unlearning Evaluation · Simon Fraser University

Python, LLM APIs, pandas, matplotlib, BM25, ROUGE-L

  • --Extended the RWKU evaluation framework to measure whether LLMs can suppress knowledge about specific people while preserving answers about similarly named individuals.
  • --Built a Wikipedia data pipeline processing 73K+ disambiguation pages and released a reproducible benchmark of 1,000 ambiguity groups, 3,000 entities, and 6,000 evaluation questions with source provenance.
  • --Conducted a 54K-response evaluation across three LLMs, comparing baseline, prompt-only suppression, and retrieval-guided approaches; automated scoring and reporting for target forgetting and neighbor preservation.
  • --Developed and evaluated identity-aware routing, reducing false links on 800 held-out neighbor questions from 19 to 9 (53%) while maintaining 99.25% target-linking recall.

Projects

Motion Coach

Oct 2026
Motion Coach

Python, FastAPI, React, TypeScript, ESP32-C5, BLE, NumPy

  • --Built a wearable movement-analysis system that streams 6-axis IMU data from an ESP32-C5 at 50 Hz over custom 18-byte BLE packets to a FastAPI backend and live React dashboard.
  • --Developed mounting-independent PCA calibration, deterministic state-machine rep segmentation, and per-rep and set-level metrics for movement consistency, range, smoothness, and tempo.
  • --Designed a bounded, fail-soft coaching pipeline using deterministic deviation detection before Jev, Gemini, and ElevenLabs; added automatic provider fallbacks, CI, and 99 backend tests.

Auto Lock

Oct 2026 -- Present
Auto Lock

C, Python, STM32F411, ESP32-C5, MPU6050, BLE, I2C, UART

  • --Built a gesture-controlled lock prototype combining an STM32F411, MPU6050 IMU, two XIAO ESP32-C5 boards, and servo actuation.
  • --Implemented on-device inference over 75-sample motion windows, extracting 27 acceleration features and running a binary linear classifier on the STM32.
  • --Integrated an I2C-to-UART-to-BLE control path and a Python data pipeline for collecting labeled IMU windows, training the classifier, and exporting model parameters to firmware.

GPT from Scratch

Dec 2024 -- Feb 2025
Transformer

Python, NumPy, PyTorch

  • --Implemented a decoder-only Transformer (3 layers, 4 heads, d_model=768, ~164k params, context=256) with token/positional embeddings, causal multi-head attention, and pre-LayerNorm residual blocks for next-token prediction.
  • --Built autoregressive generation with context-window cropping and configurable sampling strategies (temperature, top-k) to control output diversity and quality.
  • --Validated model training with loss convergence curves and qualitative text generation samples; achieved stable training behavior across 50k+ training steps.

TinyTorch

Mar 2024 -- Jul 2024
TinyTorch

Python, NumPy

  • --Implemented a NumPy-based autograd engine enabling neural networks to compute gradients automatically and learn via backpropagation.
  • --Supported core tensor ops and edge cases (broadcasting, reductions), enabling stable training behavior comparable to common DL frameworks.
  • --Built a small nn layer/optimizer stack (Linear, normalization layers, SGD/Adam) and training utilities (gradient clipping, weight decay). Added tests and demo training runs to verify gradient correctness and convergence.

Education

B.Sc. Computer Science

Expected May 2027

Simon Fraser University, Burnaby, BC

Relevant coursework: Data Structures & Algorithms, Database Systems, Software Engineering, Graduate NLP, Deep Learning, Machine Learning

Skills

Languages
PythonC++CRustSQLTypeScriptJavaScriptJavaHaskell
Tools
GitLinuxBashDockerGitHub ActionsMake/CMakeGDBValgrindPlatformIOArm GNU ToolchainuvViteJupyterPostgreSQLSQLiteAWS (EC2, S3, Lambda)
Libraries
PyTorchNumPypandasSciPyscikit-learnmatplotlibHugging Face TransformersOpenAI APIBM25ROUGE-LFastAPIPydanticBleakpytestReactNext.js