top of page

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.

PPTX-to-DOCX

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

Multiple Distributions Grapher

Multiple Distributions Grapher - Website

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.  

Libraries Used

pghbustime (Port Authority BusTime API), tkinter, requests, datetime

Screenshot 2024-10-20 192605.png
JobHarvest

JobHarvest - Chrome Extension

JobHarvest.png

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.

Screenshot 2024-02-07 at 6.21.53 PM.png
Bus Stop Data

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.

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 Used

pghbustime (Port Authority BusTime API), tkinter, requests, datetime

J4 - bus info.png
Lyrics Viewer

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

J5 - lyrics1.0.png
Youtube Uploader

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.

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

View GitHub (Coming Soon)
asd.png
Hurricane Timelapses

Weekly Weather Timelapses

Summary

The Python script is a comprehensive tool designed to aggregate and manipulate satellite image data from publicly available datasets. It employs data extraction, to gather pertinent information about satellite missions and channels. The focus of the script is on compiling data related to regional weather patterns and hurricanes and utilizing advanced image processing libraries to manage, enhance, and organize the collected imagery. The end objective is to create visually compelling time-lapses and videos that dynamically illustrate the evolution of weather phenomena over time. 

Purpose

Inspired by the dynamic content available on NOAA's website, I developed a system for automatically creating engaging timelapse videos to be uploaded on Youtube..

Libraries Used

PIL, requests, beautifulsoup, cv2, numpy

View GitHub (CS)
Timelapse1.png
Timelapse3.png
fds.png
Timelapse2.png
Email Scraping

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

Expense.JobSearch.drawio.png
Jake Shake Twitter Bot 

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.

avb.png
J7 - Jake Shake.png

Libraries Used

Datetime, pandas, requests, tweepy

Billboard Top 10

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

BillboardPic.png
bottom of page