A curated subset of side projects and coursework that I'd still stand by today.

Transformer from Scratch

Summer 2025 · PyTorch · Transformer · Machine Translation · BPE Tokenization

Implemented the original Transformer architecture in PyTorch (encoder-decoder, encoder-only, decoder-only variants) directly from the paper, without referencing any external implementations. Includes BPE tokenization, masking, batching, training loop, and evaluation on the WMT dataset. Structured to extend cleanly to text generation and Vision Transformer tasks.

Speaker-Specific Voice Activity Detection (SVAD) with ECAPA-TDNN Embeddings

Fall 2024 · PyTorch · SpeechBrain · VAD · Speaker Verification

Proposed and implemented a Speaker-Specific VAD framework integrating ECAPA-TDNN embeddings into a CRDNN-based VAD. Extended the SpeechBrain toolkit to support conditioning on target-speaker embeddings. Engineered augmentation pipelines including embedding-level noise injection. Evaluated on the AMI dataset with low Diarization Error Rate under real-time, multi-speaker conditions.

Comparative Analysis of Transformer-Based Models for Sentiment Analysis

Fall 2023 · PyTorch · Transformers · Sentiment Analysis

Fine-tuned GPT-2 for multi-label emotion and binary sentiment classification on the GoEmotions and Sent140 datasets. Adapted GPT-2 with a classification head and dropout regularization, showing competitive performance against BERT and ELMo on these tasks.

Deep Recurrent Q-Network Agent for a 3D FPS Game

Fall 2023 · PyTorch · Reinforcement Learning · DRQN

Reimplemented the DRQN paper from scratch to train an autonomous VizDoom agent from visual observations. Integrated LSTM layers for partial observability; added game-feature prediction as an auxiliary task.

Generative Models for Handwritten Persian Characters

Feb 2022 – Apr 2023 · Python · Keras · PyTorch · Generative Models

B.Sc. project under Prof. A. Nickabadi. Systematically studied GAN (and DCGAN, WGAN-GP), VAE, Real NVP, and DDPM for representing individual Persian handwritten characters. Trained a Real NVP model and developed a novel technique to replicate personal handwriting styles from small samples.

Information Retrieval Engine

2022 · Python

A text-based search engine with Boolean and TF-IDF ranked retrieval, using a positional inverted index.

Habco — Healthcare RESTful Backend

2021 · Laravel · MySQL · Redis · REST API

Built a RESTful API in Laravel for a Canadian healthcare startup serving patients, doctors, nurses, and pharmacists. Features: prescription sharing, drug inventory, SMS-based authentication.

Music Identification System

Spring 2021 · Python · NumPy · Signals and Systems

Designed and implemented an audio-fingerprinting and music-identification system from scratch using FFT and spectrogram analysis with a custom similarity metric. Assigned this project as the final assignment for the undergraduate Signals and Systems course while serving as teaching assistant.

CAPTCHA Solver

2019 – 2020 · Python · Keras · OpenCV

Built a CAPTCHA-solving system with OpenCV preprocessing and a Keras neural network, achieving 96% accuracy on 5-character alphanumeric CAPTCHAs. Collected and annotated training data via a custom web-based annotation UI.

Jpotify — Desktop Music Player

2019 · Java · Swing

Desktop music player in Java using Swing for the graphical interface; supports playlist management and music sharing over a local network.