Machine Learning
Featured Projects
Electrodynamix
Full-stack web app for circuit design via natural language; Llama 3-powered netlist generation with a Next.js 14 frontend and FastAPI backend, running real-time transient & frequency-domain analysis in a sandboxed NGSpice engine with interactive chart output.

Waterloo Reality Labs Software Team Member
Working with the Meta SDK package in Unity and a PyTorch-based neural network to develop a binary multi-class recognition system for real-time gesture tracking on the Meta Quest headset.
import torch
import torch.nn as nn
class GestureRecognitionModel(nn.Module):
def __init__(self, input_size, hidden_size, num_classes):
super(GestureRecognitionModel, self).__init__()
self.lstm = nn.LSTM(
input_size=input_size,
hidden_size=hidden_size,
num_layers=2,
batch_first=True,
dropout=0.2,
bidirectional=True
)
self.fc = nn.Linear(hidden_size * 2, num_classes)
def forward(self, x):
# x shape: (batch, seq_len, input_size)
lstm_out, _ = self.lstm(x)
# Use the final time step output
out = self.fc(lstm_out[:, -1, :])
return out
# Initialize model for 21 hand landmarks and 5 gesture classes
model = GestureRecognitionModel(
input_size=21*3, # 21 landmarks with x,y,z
hidden_size=128,
num_classes=5
)CodeSpeak
GeeseTalk
Certifications & Learning
Azure AI Fundamentals
Earned Microsoft's Azure AI Fundamentals certification, covering essential concepts in AI workloads, natural language processing, computer vision, conversational AI, and responsible AI. Gained hands-on exposure to Microsoft Azure AI services and tools.

NVIDIA's Building RAG Agents with LLMs
Worked on labs with LLM prompt engineering using NVIDIA's NGC chat and embedding models. Utilized TensorFlow for analyzing the semantic value of queries and implemented Gradio for the front-end connection to chatbots.

NVIDIA's Disaster Risk Monitoring
Worked with labs in Dali processing for image RGB processing, image decoding, resizing, and rotation. Used NVIDIA's TAO optimized with TensorRT to retrain pre-trained deep learning models for flood detection.

MATLAB's Deep Learning Onramp
Dealt with Convolutional Neural Networks and Transfer Learning in MATLAB, learning to build, train, and evaluate deep learning models. Explored techniques for image classification, feature extraction, and model optimization.
% Load pretrained network
net = resnet50();
% Define layers for transfer learning
layers = [
net.Layers(1:end-3)
fullyConnectedLayer(numClasses)
softmaxLayer
classificationLayer
];
% Set training options
options = trainingOptions('sgdm', ...
'MiniBatchSize', 32, ...
'MaxEpochs', 10, ...
'InitialLearnRate', 1e-4, ...
'Shuffle', 'every-epoch', ...
'ValidationData', validationData, ...
'ValidationFrequency', 10, ...
'Verbose', false, ...
'Plots', 'training-progress');
% Train network
trainedNet = trainNetwork(trainingData, layers, options);
