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
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
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
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
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
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 CheckingProgram Separator
I/O Verifier
Settings Initializer
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