PERSONAL CODING &
TECH PROJECTS
I present an array of personal projects that serve as self-driven learning experiences to further the understanding and application of computer science and computer-aided design software, or to learn new ways to connect communities. I chose to specifically utilize unique APIs and data assimilation techniques to crate projects across various disciplines.
Chrome Extension: Autofill Anywhere
Summary
Chrome Extension that allows the user to preset options on a form website then automatically fill presets at the click of a button.
Purpose
When my girlfriend was starting her Rotational Year for her Physician Assistant school, she was requested to fill out a webform on "Typhon" for every patient she sees. Some of the form's questions are consistent for each patient and for each rotational specialty, and repeating the form questions that are repetitive adds significant amounts of time to her patient logging.
​
She requested that I create a tool to simplify the process, and thus a Chrome Extension was born! I thought of generalizing the process to apply this to any form across the web.
Fall 2025


Website: Build Your Own
Design Traceability Matrix
Summary
This tool is an interactive, browser-based application for creating and managing Design Traceability Matrices. It allows users to define columns such as User Needs, Design Inputs, Design Outputs, Verification, Validation, and Risks.
​
Within each column, users can add individual traceability items and link them together using arrows that represent logical relationships across development stages.
​
The application also supports importing/exporting data in JSON format, viewing details and connections of each item, and managing multiple matrix projects through a tabbed interface.
​
It is particularly useful for teams working on regulated product development to ensure complete and transparent traceability.
Purpose
At EHOB, I recognized that our ability to trace out Design process was quite limited. While Google Sheets were effective for our early stage development, as we continue to be more thorough in our Design Inputs and Design Verification, having a more robust tool was going to be helpful.
​
While this was not implemented at EHOB as:
- extensive program validation would be necessary
- errors could not be fixed by myself as fast as they would present themselves
- The program would not track user updates in a traceable way, thus not making it ISO 13485 compliant...
I took this as an exercise to see if I could make something that could achieve the high level goals of a Medical device company

Empty Template

Filled in DTM (ChatGPT generated for Incontinence pad)
Summer 2025
Chrome Extension: Smart Reply
Summary
Chrome Extension that allows the user to use Google's Writer API to send replies to inbox emails using LLM's through Microsoft Outlook Online.
​
In its current state, there is customizability in:
- prompt
- coworkers' names/professional titles.
- light vs. dark mode of interface
Purpose
With Large Language Models becoming more prevalent in the workplace, as they allow more complex tasks to be completed more efficiently, I decided that I should improve the speed at which email replies are being executed by incorporating LLMs into them.
​
While other Chrome Extensions do this, they generally have a small free trial period which limits their application. I wanted an option that would have nearly limitless quantities of uses.

.png)


Summer 2025
Conference Room Free/Busy Screen
Summary
This program, written in Python, connects to Microsoft Outlook to fetch and display the availability of a conference room by analyzing its free/busy schedule. It uses a GUI to show the room's current status, upcoming meeting times, and time remaining until it becomes free or occupied.
​​
I created a successful proof of concept and worked on designs in Figma. As presented, the goals are to add meeting details and additional frames.
Purpose
At EHOB, we have two conference rooms, and we were unaware if the rooms were booked or free becuase there was no visual indicator.
​
I created this project as a potential non-enterprise solution to visualize the free/busy status of the room at any point.
Libraries and Programs Used
win32com, tkinter, Figma

_edited_.jpg)
Working Proof of Concept (left), Figma Designs (above), Interactable Prototype (below)
Winter 2024
Album Poster Generator
Summary
This program is written in Python and creates a album poster when provided a album title or Spotify Album ID. It uses the Spotify API to gather important information required for the poster, then filters and organizes the information to be aesthetically pleasing.
I also created a program that uses pyautogui to automatically upload to Redbubble without any user input.
Purpose
I recognized that posters are a simple method to generate passive income, as the development of the posters is relatively consistent across artists and companies have organized the printing and shipping automatically.
Libraries Used
spotipy, pynput, pyautogui, tkineter, PIL, datetime, colorthief



Describe your image













Winter 2024
PPTX to DOCX Convertor
Summary
This program, written in Python, is designed to help users create outlines directly from the text of a Microsoft PowerPoint or Google Sheets presentation. It takes the title blocks and bullet points from the slide body to organize the information into an outline that is exportable into Google Docs, Microsoft Word, or a flashcard software like Remnote.
Purpose
When my girlfriend was studying for Physician Assistant school, she would spend hours copying and pasting the lecture slides textboxes into Remnote, a popular space-time repetition software.
​
Because of the hours this software saves for students, I decided to make the product available for users at a reasonable price point, and is available on Payhip below.
Libraries Used
python-docx, python-pptx, tkinter
Summer 2024
Website: Multiple Distributions Grapher
Summary
This website is written in react.js and is designed to help users complete and compare datasets using basic statistics. This website allows users with the following:
-
Calculate Averages and Standard Deviations
-
Determine outliers
-
Classify datasets as from the same population or not (T-Test)
-
Determine the likelihood of values occurring within a threshold
-
Plot Distributions when Mean and Standard Deviation are provided
-
Plot Distribution when the data is provided.
Purpose
During my first few months at EHOB, I recognized that data analysis for lab experiments was important, yet online tools did not allow me to compare multiple datasets simultaneously. I created this website to help aid my team in viewing multiple datasets in one cohesive image.

Summer 2024
Chrome Extension: JobHarvest

Summary
JobHarvest is your Gmail to Google Sheets pipeline for your job search! The extension parses your job alert emails and allows your to filter and copy for your Job Search spreadsheet
This extension parses your email to look for Job Alerts from major Job Boards. It will then compile the data and provide a table to copy and paste into or directly send to your spreadsheet.
Future versions will improve breadth of preferences and job alert email types and an automatic email-to-sheets pipelining.

Fall 2023
Lyrics Data GUI
Summary
This Python script integrates with Spotify to create a graphical user interface that displays playback details, including the song, artist, and progress. It continuously updates the GUI with real-time information about the currently playing song, along with synchronized lyrics. It has the option to play/pause, rewind, or fast forward directly from the GUI.
Purpose
I listen to music while showering, but would like to view song lyrics without damaging my phone. This project is the first step to making a screen in the shower that would show me the lyrics.
Libraries Used
Customtkinter (nicer-looking tkinter), spotipy, datetime, lyricsgenius, syncedlyrics

Fall 2023
Morewood Monitor
Summary
While at CMU, I was given a series of computers that were not being used by the University. I used one for my personal projects, and the other for my fraternity, AEPi.
This computer was used for Booth, but was ultimately delegated to the Morewood Monitor. The Morewood Monitor was a Pledge Project for the class that I was the Rush Chairman for -- creating a program that can read the stoplights at the corner of Forbes and Morewood and predict when the light will turn green. When my peers leave AEPi, they will be able to time their exit such that they minimze their time in the cold by crossing the street right when the walk sign lights up.
After this project was unsuccessful during the Pledge Program, the computer was repurposed for the screen you see on the right.
The Morewood Monitor featured the following items 24/7:
- Date, Time, and Temperature of current day
- AEPi Calendar events (Google Calendar API)
- Next buses and their times for the nearby bus stops (PGH Bus API)
- Kitchen Cleaning Duties (Google Spreadsheet API)
- Half off Jake Shake (NHL API
- Phone Number of Fraternity Chef and myself
This was used and up-kept by myself until a liquid spill destroyed the computer. Its positive impact on the AEPi community will be remembered.

Spring 2023
Lapse Terra - Automatic Youtube Uploader
Summary
This Python script takes in videos created by other models and automates the timing and release of these videos to a YouTube channel. This script enhances each video with background music and incorporates tags, titles, and descriptions for each video type.
Currently, the Youtube Channel has released or is releasing videos of​
-
Sun Timelapses from the past Week/Month
-
Regional Satellite Cloud Timelapses from the past Week/Month
-
Semi-globular Satelitte Cloud Timelapses (GOES and Himawari Satellites)
-
Space Station Timelapses
-
Probability of Aurora and Earth's Magnetosphere (active)
-
Daily Random PubMed Article Summary (inactive)
-
Billboard Top 10s (inactive)
Purpose
In the pursuit of streamlining content creation, I leveraged Python scripting to automate the generation and uploading of videos on YouTube. Focused on disseminating insightful content effortlessly, this script minimizes manual effort while contributing valuable insights to a wider audience.
Libraries Used

simple_youtube_api, datetime, cv2, moviepy
Fall 2022
Email Scraping - Expenses and Job Search
Summary
This Python script systematically gathers and processes job and expense-related information from emails. It classifies incoming messages by sender domains, such as LinkedIn or Glassdoor for job search and Venmo or my bank account for expenses, and then extracts pertinent details like sender, subject, or quantity paid. Specifically tailored parsing mechanisms are implemented for each sender type to ensure accurate extraction of information and is then placed in Google Sheets spreadsheet. This helps automate the tracking of my expenses and automate my job search using the pre-determined email alert systems utilized by most companies.
Libraries Used
google, googleapiclient, beautifulsoup, datetime

Summer 2022
Jake Shake Twitter Bot
Summary
The Milkshake Factory offers a deal during the hockey season that if Jake Guentzel, Pittsburgh Penguins player, scores during a game, "Jake Shakes", one of their popular milkshake flavors, are half off the day after. This Python script checks the recent goals scored by the NHL player Jake Guentzel by scraping the relevant information from the official NHL website. The script then evaluates whether Jake Guentzel scored a goal the day before and, posts a tweet indicating that Jake Shakes are half off today.
Purpose
In my fraternity, AEPi, there was a tradition to get the promotional shakes whenever Jake Guentzel scored. I developed a program to inform us of the discount.


Libraries Used
Datetime, pandas, requests, tweepy
Spring 2022
Bus Stop Data GUI
Summary
This Python script creates a graphical user interface to display real-time information about the bus prediction times for a specific Pittsburgh bus stop. It uses the Port Authority BusTime API to fetch predictions for the designated bus stop and organizes the retrieved information, continuously displaying and updating the bus routes along with their respective arrival times on the GUI.
​
I created a Proof of Concept version that I used for myself, then created prototypes in Figma.
​
I presented this to a group of people at Carnegie Mellon University in charge of construction and campus projects, but was not requested to pursue further due to complications in costs and manufacturing.
Purpose
I was living about 1 mile from campus during my graduate semester and wanted to ensure I was not late to my classes. This screen helped me plan my morning, including what clothes to wear and which busses helped me get to my location.
Libraries and Programs Used
pghbustime (Port Authority BusTime API), tkinter, requests, datetime, Figma

Working Proof of Concept (left), Figma Designs (below)


Spring 2022
Dynamic Top 10 Chart Visualizer
Summary
This Python script dynamically generates animated line graph videos illustrating the changing rankings of the top songs on the Billboard Hot 100 chart for a given period of time. Through a systematic process of data retrieval, processing, and visualization, it produces an MP4 video, where each line corresponds to a song and its movement signifies shifts in rank. The script introduces an element of randomness by allowing the creation of videos for different time frames such as years, seasons, or quarters, enhancing the diversity and unpredictability of the generated visualizations.
Purpose
Recognizing the expansive potential of the Billboard dataset, and looking for additional videos to post to my YouTube channel, I devised a script to convert Billboard data into compelling video content.
Libraries Used
billboard, pandas, and bar_chart_race
