Projects

All code can be found on my GitHub, click on the title of a project.

Personal Trainer App

powered by ChatGPT

MERN

Created by myself and my class peers. We were tasked with creating an application using a MERN stack. PT-GPT is a personal trainer application powered by the ChatGPT API. After signing up and logging in you are taken to the main page of the application where you can chat with the AI about anything fitness related.

The AI is set up to use the information you enter in the settings page in order to assist you in reaching your fitness goals. If you ask it something unrelated to fitness/health it may respond but will tell you that the main focus should be centered around fitness. In addition to its main purpose, you can also customize the AI by changing its personality in the settings page. You can choose from various options including: Hercules, Tarzan, Cthulu, and more.

The images above show the application in both web and mobile.

Note: This web/mobile application project was created for a class with minimal time available. The design may not be optimal, and there may be bugs.

Canny Edge Detector

Input
Part One
Part Two
Part Three

C


Given an input image, the program takes the image through 3 parts. Part 1 gets the derivatives for the x and y mask respectively then computes the convolutions. Finally the magnitude is calculated and an output image is produced. Part 2 detects the peaks in the image using a double for loop that checks certain conditions to determine if a pixel is a peak. The output image with the peaks is produced. Part 3 is a post processing step where certain features are selected in the image that meet criteria based on gradient magnitudes and connectivity. The final output image is produced.

To-Do List

HTML5, CSS, and JavaScript


An interactive to-do list. The site simply prompts you to type and submit a task which is then added to your to-do list. In this list you have two options. You can edit a specific task by clicking on the "EDIT" button. Or, once finished with the task, you can delete it from the list by clicking the "DELETE" button. To make this site eye-catching I included icons, colored fonts, and user friendly formatting.
The image above is an example with four tasks added to the to-do list.

Digital Clock

Python and tkinter


A GUI digital clock that represents real and accurate time.

Word Sorting

C - Binary Search Tree


Analyzes the frequency of words in various works. Reads in words one by one and stores them in a binary search tree, organized in alphabetical order. Each node stores a unique word and its frequency.

Library Sorting

C - Merge Sort


Given a list of the number of pages in all the books in the school library, and a maximum limit of pages you are willing to read. The program implements merge sort and determines the maximum number of books you can fully read.

Olympic Medal Predictor

Python - Machine Learning


Using data from previous olympics, this program looks at the correlation between the number of athletes and medals for each country. This data is then used to predict how many medals they will earn at the next Olympics.

Web Scraping Football Data

Python - Web Scraper


rbref.com is a football website that holds stats for each premier league team. This web scraper collects each team's statistics throughout the last 3 seasons. After the data is colletcted and merged together it is then converted into a csv file. This csv file will be used to create a machine learning program to predict winners on each matchday.