My Projects

Leva

Leva is a B2B software startup designed to empower women in the workplace through mentorship. I co-founded and individually developed the minimum viable product for Leva during my freshman year of college, and later recruited two team members to help with front-end development. I also directed the development of the website's second iteration (and did almost all of the backend development) for a >50 user beta test with Northwestern's Society of Women Engineers, achieving 0 reported bugs despite heavy use. Please give the demo video a watch!

Python Flask Pytest SQL SQLAlchemy React AWS (S3, RDS, EB) RESTful API JavaScript

Networking Gardening Game

In order to help me manage and visualize my professional network, I created a gardening game where connections are represented as plants that grow with regular outreach. The game lets you store details about each connection, schedule future outreach dates, and set recurring intervals for follow-ups. Each time you reach out, you can log notes about the interaction and 'water' the plant to reset its outreach timer. It also includes the option to set special outreach reminders, such as to congratulate a contact on a new product launch. I developed a fully tested Java Spring Boot REST API for the backend, and I'm now working on a React frontend. (This was mostly a backend/testing exercise - the picture to the left is just a draft frontend that doesn't show all of the features. But they're all there in the backend!)

Java Spring Boot SQL AWS (RDS) RESTful API JUnit Mockito React JavaScript

Spark Machine Learning Classifier

As my final project for a Data Engineering 300 course, I created a Spark DAG pipeline, hosted in AWS MWAA using Apache Airflow, to:
1. Read the configuration file from S3
2. Use Pandas to load heart disease .csv file and Scrapy to scrape data from web to impute missing values in 'smoke' column based on age
3. Add data to RDS SQL database for further imputation/engineering
4. Impute data to remove outliers
5. Use Spark and Pandas to perform feature engineering on specific columns
6. Train Spark and SKLearn SVC/logistic regression models with data
7. Evaluate each model's performance and choose the best model

Python Spark Pandas Data Engineering AWS (EC2, MWAA, S3, RDS) Machine Learning SQL Data Analysis

Music Matchmaker

A platform for discovering upcoming concerts and finding with new friends to go with.

React JavaScript Agile HTML/CSS NoSQL Firebase GCP

What2Eat

A recipe-finding platform designed to reduce food waste by recommending recipes based on your available ingredients.

React JavaScript Agile HTML/CSS NoSQL Firebase

News Polarity Analyzer

In my senior year of high school, I developed a web app to analyze how positively or negatively different news sources reported on different topics. After the user enters keywords and selects two news sources (eg. CNN, Fox News, etc.), the app processes recent articles using the Natural Language Toolkit library to evaluate sentiment. Finally, it uses Plotly to visualize the different sources' sentiment against each other, making it easy to see how each source portrays the chosen topics.

Python Flask Selenium NLTK Plotly Data Analysis

Processing Game

This is a game I made in Processing when I was in high school. I just thought it would be fun to put it on here. Click on the game panel, then type a number between 0-8 to choose a level (0 will play all of the levels). See if you can beat it! :)
Controls: WASD for movement, press or hold space to shoot, hold j to limit movement for precise dodging, press p to pause.

Processing