Home
Finished Walkpad

Upcycling a Treadmill to a Web Controlled Walk Pad

Description: In this project, we (myself and one friend) took an old treadmill that would've gone to waste, removed the control panel, and programmed an Arduino to supplement the missing control panel. Finally, we utilized Flask to create a web interface that could send serial writes to the Arduino and hosted the site on a Raspberry Pi.

Technologies Used: Arduino IDE, Python (Flask), Bash, GitHub

View Project
Project Image 2

CLI Tetris

Description: This was an experiment to see how I could code Tetris from scratch without any tutorials or reference code for how to code tetris. I ended up using both SDL and ncurses to create a terminal based tetris.

Technologies Used: C++, GDB, SDL, ncurses

View Project
Project Image 2

Personalized Open Source CLI Text Editor

Description: I like simplicity in my text editor. I'm used to the keybinds in Emacs, but I used to not know that I could or how to configure my own emacs environment. Long story short, I'm back to Emacs, but it was a valuable learning experience.

Technologies Used: C, GDB

View Project
Project Image 2

Machine Learning Breast Pathology Diagnosis System

Description: For my senior design project, I worked with a team of computer engineers, machine learning specialists, cloud computing specialists, and digital pathology experts(TUHD) to create a novel machine learning system that takes a frame-level diagnosis approach.

Technologies Used: Python3, SKLearn, PyTorch, Shapely, Pandas

View Project
Project Image 2

SEC Webscraping Application

Description: While working in Dr. Samuel Rosen's research lab, I developed a novel approach to extract Schedule Of Investment (SOI) tables from 20+ years of filings with minimal post processing. This reduced deliverable time to a quarter of what it previously was (24+ hours to under 6).

Technologies Used: Python3, Pandas, Pyppeteer, BeautifulSoup

View Project
Project Image 2

Rockwell PLC Studio5000 Design Suite

Description: Rockwell PLC programs can be saved as a L5k file which is essentially a readable text version of what has been developed in ladder logic using the GUI. This is useful for making mass code changes that would be repetitive and error prone. During my internship with EZSoft. I develeoped a small suite of applications to parse L5k files and utilize RegEx to expedite, reduce error, and neaten rote tasks.

Technologies Used: Python3, RegEx, Rockwell Studio5000/PLC

In-Program Error Checking
Program Separator
I/O Verifier
Settings Initializer
Project Image 2

Scalable Room Light Sensor Application

Description: I worked with a team of electrical and computer engineers to develop a Jinja based web application that receives requests from ESP32s holding light sensor information, utilizes a Flask backend for writes to a SQL database, and has a GUI to extract useful information for the end user. This app is modular and could handle as many ESP32s as the system hosting the site and database can handle. My primary role was working on the Flask backend as well as the Arduino code for the ESP32.

Technologies Used: Arduino, Python, SQL, Jinja, Flask

View Project