Projects

Click on a section to read more. Some projects will have demos soon™

NJIT Schedule Builder

January 2024

In-Progress | TypeScript | NextJS, Svelte

The Schedule builder is a tool developed by students at NJIT to help with deciding what classes to take in upcoming semesters. The problem was that it wasn't always synchronized with NJIT's data, and it's search function was pretty simple- so I decided I'd see if I could do better. As it would turn out, I wasn't the only one that was thinking about this- after talking to a couple people, we organized a team via NJIT's ACM branch to work on a complete revitalization of the Schedule Builder.

The main things we wanted to improve were:

  • The amount of information shown to the user (including a dev API!)
  • The look & feel of the site
  • Search filtering
  • Schedule Optimization tools
  • Plugin compatibility

As part of this project, I plotted out the dependency structure of all of NJIT's courses, which you can view here. This didn't end up being particularly useful (so far) but it was nonetheless a good exercise in Data Visualization, and more importantly it looks really cool.

This is still in progress, so results of this project are thus far unknown. Things are looking promising though! We've been coordinating with NJIT's IT department, and if we're able to bring this to completion, they're seemingly willing to replace the existing Schedule Builder! (after they run their suite of Cybersecurity tests on their end, of course)

Back2GPT

May 2023

Completed | Python | LLMs, LangChain, Markprompt

As part of my work as a Grader at NJIT, I was tasked with setting up a bot that could respond to students' questions on the official class discord, referring to the course material and some select sources. This was still in the early days of LLMs being popular, but the pipeline would later come to be known as RAG; Retreival Augmented Generation.

What I needed to do was mine the course website's content from the Professor's repo, along with a healthy amount of Wikipedia articles, and put them all in a format that can be parsed in MarkPrompt. From there I was able to implement a discord bot to allow users to chat with the LLM, and it was complete. Setting up the bot wasn't as trivial as it sounds as I had to handle the stream data in a way that worked with Discord's API, and reformat the sources to make sense for the format.

GalaxyGen

March 2023

Completed | Python, Javascript | Flask, OpenCV, NetworkX

GalaxyGen is a tool I made to generate, visualize, and edit psuedo-random Galaxies for sci-fi settings, following the Hyperlane system from Star Wars. GalaxyGen is set up to generate "natural" hyperlanes which will generally avoid having a homogenous pattern, allowing for interesting logistics & routing. It's also set up to generate "clusters" of resources given some parameters, which add another dimension to the geography of the Galaxy.

This all is displayed in a locally-hosted Web App that allows users to view & edit the galaxy in real time. This includes visualizing or editing fictional countries plotted over the map, or the resource clusters. Galaxies are generated with a script that takes a black & white density map from the user- everything else is generated for them.

I made this tool for a non-technical group, so this was my first foray into making something that's truly user-friendly. By all accounts I failed (I still get teased about it to this day) but I learned a lot in the process, and that's what matters.

GitHub Link

Stingus Stats

December 2022

Completed | Python | Flask, OAuth2, Heroku/DigitalOcean

Stingus Stats was a data collection project centered on determining the drop rates of in-game items from Destiny 2 depending on game mode and other such factors. It was a fully functional front and back end, where the back-end collected item drop events from anyone who signed up for it (far more complicated than it sounds), and the front-end collected that data into easy-to-understand stats. The plan was to make some more advanced tools going from that, but the game started dying due to a very controversial update, and I lost interest.

Message Count +

March 2020

Completed | C# | MongoDB, Discord.NET

This is a project that is completely defunct but holds a lot of sentimental value to me as it's one of my first ventures into data collection and visualization.

The overall task was simple enough- record how many messages are sent at any given moment in any given channel, and plot that data in useful ways. The problem is that I wasn't particularly good at dealing with the various edge cases that comes with a constant stream of old, new, and inconsistently formatted data. I also had no idea how to generate graphs from code. I also scope-creeped hard every time I tried to make it.

Overall I learned a lot of valuable lessons from this project. One of these days I'll get back to it and implement it properly.