This project involved designing and building an audio analyzer PCB that lights up LEDs in real time based on audio input. By combining a summing amplifier, high-pass and low-pass filters, peak detectors, and two types of LED drivers (analog and PWM), the system separates audio into treble and bass frequencies. The circuit lights up green LEDs for high-pitched sounds (e.g., snares, guitar solos) and red LEDs for bass (e.g., kicks), providing a real-time visual representation of music. I tested the system with "Seven Nation Army" and verified the response using simulations and physical measurements.
This project applies signal processing techniques to isolate vocals from a mixed audio track using spectral gating and harmonic/percussive source separation (HPSS). The method leverages time-frequency analysis to suppress background instrumentation while enhancing vocal content. Spectral gating is used to attenuate non-vocal frequency bins, while HPSS cleanly separates harmonic (e.g., vocals, synths) and percussive (e.g., drums) components. This project demonstrates my proficiency in digital signal processing, audio analysis with librosa, and real-world applications of Fourier transforms.
This project is a machine learning tool that helps soccer managers find affordable players with similar attributes to elite stars using the FIFA 2024 dataset. It combines K-Nearest Neighbors with clustering algorithms (K-Means and HDBSCAN) to group players by playstyle and recommend hidden talent. PCA visualizations and silhouette scores assess cluster quality. This project highlights my skills in data preprocessing, clustering, and visual analytics with scikit-learn and matplotlib.
As part of my applied circuits coursework, I designed, simulated, and constructed a boost converter circuit to step up a 5V supply voltage to a stable 14.11V output. I completed the full design cycle, including schematic creation and PCB layout in KiCad, ordering the PCB, soldering components, and implementing the circuit. A 555 timer generated a PWM signal with a 78% duty cycle at 1 kHz to drive the MOSFET, enabling efficient energy storage and voltage regulation. Simulations in Multisim and experimental testing validated the circuit's performance, showcasing my proficiency in PCB design, circuit analysis, and hands-on implementation.
The CPU features a 5-bit address bus with access to 32 memory locations and supports operations such as load, store, addition, subtraction, and branching. The simple_cpu module integrates an opcode decoder, instruction sequencer, control signals logic, and a datapath. The datapath includes an ALU (with an adder-subtractor and full-adder), a parser, tri-state buffers, and a zero flag. Custom assembly code was programmed and tested using Quartus' simulation tools and a hierarchical testbench to ensure functionality. This project demonstrated my proficiency in hardware description languages, digital system design, and simulation-based verification, culminating in a fully operational CPU.
This project is an advanced machine learning project designed to predict the outcomes of English Premier League matches. The project encompasses a comprehensive web scraper that collects historical and future match data from the web, ensuring the model is trained on the most up-to-date information. Utilizing this data, this project leverages a Random Forest Classifier to determine whether a team will win, draw, or lose based on various match features. The model has been fine-tuned through hyperparameter optimization and addresses class imbalance through oversampling techniques.
This project is a Python-based Wordle solver that uses information theory concepts such as entropy and probability to recommend the best possible guesses. This solver aims to efficiently solve Wordle puzzles by calculating the information gain of each guess and selecting the optimal word based on combined entropy and probability scores. The program performed an average of 3.6 guesses per word in a simulation of 1000 trials.
This project is a web-browser task manager application written in HTML, CSS, and JavaScript. It contains a basic model of a to-do list categorized by different classes, a Pomodoro timer, and essential date, time, and weather information, as well as a study playlist. More information on the functionalities of the web application can be found on the GitHub page linked above.
The web-application can be accessed .
This project is a Tic-Tac-Toe application written in Python. Within the application, the user can either play a regular game of Tic-Tac-Toe with two players or go against the computer. The program is coded to implement a Pure Monte-Carlo Tree Search Algorithm. Within the program, the user also has the choice to set the difficulty of the computer model.
This project replicates the old Pac-Man game written in Python utilizing Pygame and the University of Virginia's Game Engine (UVAGE). The game's objective is to collect all coins without touching any ghosts within the given time. All of the ghosts' movements are completely randomized. Once the game is over (either by completion or failure), the user is prompted to either restart the game or quit.
This project is my personal, professional portfolio website, which is the very website you are currently on. This website was created using HTML, CSS, and JavaScript. The server is hosted through GitHub, and the domain is registered and bought through Namecheap.
This project is a full-stack live API application for sports score updates. This application is designed to provide real-time scores across various sports, including soccer, basketball, football, and more. The application is built utilizing React on the front end and Django on the back end, ensuring a seamless, responsive user experience.