Projects
Welcome to my projects page! I do a bunch of projects for school, but this page is reserved for especially cool things. If I have a project on this page, there's a good chance it's up on my GitHub, which you can find at the bottom of the page or here! If something piques your interest, feel free to shoot me an email, also located on the bottom of the page. Happy perusing!
BasicML
BasicML serves as my first web project from scratch. It is built on a Python REST API and a React frontend. In multiple senses, this site proved to be very educational. On one hand, it was educational for me as a developer. There were a lot of firsts for me: React, Flask, deployment, and general web dev stuff. In fact, there were definitely some things I didn't need to do but only did for the sake of learning. For example, I probably didn't need to use React, but I wanted to see why it's become so popular. On the other hand, the site serves an educational purpose for users. I figured I wasn't in a position experience-wise to make a truly useful and scalable product, so I decided to make a learning tool so my project could still be at least a little useful. But at the end of the day, the most important thing I've learned from this experience is that frontend is not my thing.
Restaurant Classifier
I know, I know, you must be asking: Ew, is that Swing? To which my only response is, yes, it unfortunately is. At the time of developing this project, Swing was the only GUI tool I knew about for Java. But there's a bright side to all this: this was developed with the MVC pattern, so refactoring it with a better GUI is only as much work as coding a new one up.
This project is a classifier that can predict whether a user will like, dislike, or be indifferent about a new restaurant based on previous training. It uses the Yelp API to allow for searching and to pull various features such as rating, cost, and category to train over in a naive Bayes algorithm. Under the hood, a Soar agent is handling some of the decision-making. If you don't know what Soar is, check it out here. Cool stuff!

Soar Reasoning Models
This project was the foundation of the Yelp Restaurant Classifier. It involves implementing various reasoning models in Java, then using Soar Markup Language to create handlers that allow Soar agents to utilize the models. The initial set of models include Bayes net, naive Bayes, and KNN. The code is designed in such a way that adding new models would be simple. Theoretically, if libraries exist for other models, they could be implemented with the Soar handlers and be used with agents with very little work.
Admittedly, there may be some (or many) flaws with this code, as I began writing it before I properly learned Java. I tried to fix as much as possible so any potential readers wouldn't be too offended.