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 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 - 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
JobHarvest - Chrome Extension
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.
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
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
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
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
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
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
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