Featured Projects
Depression Detection through Speech Analysis
An end-to-end research project to detect depression from speech recordings using the DAIC-WOZ dataset. Systematically evaluated a range of models, from classic CNNs (VGGNet, ResNet) to Vision Transformers (ViT), on spectrograms and raw audio data.
Accomplishment: Gained experience in the full research pipeline, including feature engineering for audio, comparative model benchmarking, and handling class imbalance.
imgcv: A Image Processing Library from Scratch
Developed and published a Python package on PyPI that re-implements core image processing OpenCV functions from the ground up using only NumPy. The goal was to build a deep, fundamental understanding of how computer vision and image processing algorithms work under the hood.
Accomplishment: Solidified my understanding of algorithms for filtering, color space manipulation, morphological operations, and edge detection.
nanoGPT: Building a Transformer from Scratch
Implemented a decoder-only GPT-style language model from scratch in PyTorch, training it to generate text in the style of Shakespeare. This project was a deep dive into the fundamental mechanics of the Transformer architecture.
Accomplishment: Gained a code-level understanding of self-attention, which I am now extending to train a similar model on the more complex Sanskrit language.
Micrograd: An Autograd Engine in Python
A from-scratch implementation of a scalar autograd engine, demystifying the backpropagation process used in neural networks. Later extended to a PyTorch-like structure.
Accomplishment: Developed a deep understanding of how autograd works, including the mechanics of computing gradients and the chain rule.
Chorale Music Generation with LSTMs
Trained a Long Short-Term Memory (LSTM) network on a dataset of Bach chorales to generate novel, harmonically coherent musical sequences.
Accomplishment: Gained insights into sequence modeling and the unique challenges of generating structured outputs like music.