Personal Projects
A list of notable(ish) projects I've worked on in my free time.
This obviously isn't exhaustive, just the stuff I'm most proud of or most worth talking about.
Cavern Clinger

Cavern Clinger is a mobile game in which you swing through an infinite, randomly generated cavern, collecting gems, dodging obstacles, and escaping the pursuing wall of lava. The goal is to get as far as you can in order to rise up the global leaderboard.

With your gems, you can purchase new skins in the shop, which grant you special abilites to help you travel further into the cavern. If you travel far enough, you may even find yourself in a boss fight, which may give you exclusive rewards.

I worked on this project throughout my senior year of highschool, and released it on both the iOS App Store and the Google Play Store, where it's availible for free.
Self-Aiming Dart Launcher

I decided to work on something outside of my comfort zone, in a fun blend of electronics, physics, and computer science. This project is a handheld launcher that detects how far away the target you're aiming at is and at what angle it's being held at, and then calculates the angle at which to launch a dart to hit the target. Then, you can pull the 'trigger' (it's just a button), and it will fire the dart to hit the spot you're aiming at.

I was inspired by YouTuber Stuff Made Here to make this. While I certainly don't have the resources or expertise he has, I thought it would be pretty cool to work on a project that would allow me to explore new areas in which I knew very little about.

I learned how to use Solidworks to create models, learned how to 3d print, learned how to program a microcontroller and control external devices, and learned how to wire electronics together to create a functioning system.

I really did learn a lot while making this, and am glad I spent the time, even though it's sort of silly. I documented my experience making this in the two videos on the right, and I have uploaded all of the models and scripts I created during this project here.
Hivemind AI

Hivemind AI is a simple online game that allows a human player to compete against an AI agent as they train the agent to beat them. For this project, I implemented a neural network and reinforcement learning algorithm from scratch, and used them to control and train the agents in the 2D environment.

The algorithm I implemented is Proximal Policy Optimization, or PPO, to train the agent to play against human players.

I implemented the game physics, neural network, and PPO in C++, and compiled it to WebAssembly using Emscripten to allow it to run in the browser. The rendering, however, is done in Javascript on an HTML canvas.

You can play the game here and view the code on Github. I call it a game, but it's not really that fun; its a AI demonstration first and foremost.

Also, my neural network and PPO implementation can be found on Github as well.
The trained AI agents searching for the player.
The RPI Korok Hunt

The RPI Korok Hunt is an ongoing scavenger hunt that encompasses all of Rensselaer's campus! Students can find hidden Korok stickers hidden across campus, and scan the QR codes to increment their score. With the public leaderboard, students can compete with each other to find the most Koroks!

To bring this project to fruition, I used AWS to manage the backend, which includes the logic to handle user actions from the frontend, the database to store user and sticker information, and of course, serving the actual webpage.

I initially created this project because I thought it would be a fun project to fully introduce myself to web development, and because I thought, perhaps, a few students would be interested in playing and find it fun. I advertised the hunt with a few posters around campus, and on Reddit, but wasn't expecting a huge turnout.

But much to my surprise, over 100 students joined the hunt in the first week! I was very surprised, and excited, that so many people were interested in what I had cooked up.

You can visit the Korok Hunt website, and learn more about it here.
Finding a Korok on the RPI Korok Hunt website The RPI Korok Hunt website
KdenCode

KdenCode is a simple C++ library that allows you to programmtically generate .kdenlive files which can be opened in the Kdenlive video editor. This functionally allows you to edit a video however you like with your own custom program, which can help speed up your editing process. You can take a generated .kdenlive file, open it in the Kdenlive, and render it.

As I've said above, this is a simple library, and it only supports the bare minimum of video editing:
      - Adding clips to the project bin.
      - Adding new audio and video tracks to the timeline.
      - Adding clips to tracks at specific timestamps.
      - Specifying the length of clips on tracks.
      - Adding a fade effect to video clips on tracks.
      - Setting the profile of the video (framerate and size)

The idea is that the bulk of the work would be done by the library, but the fine-tuned/complex editing would be done in Kdenlive afterwards.

You can find the library here. I used this library when creating a tool that helps streamline my very specific video editing process, whenever I need to edit a video. It's really geared towards me though, so I wouldn't really recommend anyone else really use it.
The Kdenlive video editor
Misc. Games

Over the years, I've worked on a variety of small games, such as action games, puzzle games, and multiplayer games. They were all fun projects to work on, and since they're all in different game genres, they all had their own unique challenges and problems for me to solve.

The first game I really ever worked on was a multiplayer LAN fighting game I wrote in Java, called Battle Squares. Think Super Smash Bros, but you play against your opponent on the local area network. It was a really fun experience, and it was the project in which I first started programming. Without Battle Squares, I probably wouldn't have done as well on the AP CS exam, and might not have gotten into computer science as a whole.

Almost all of the games I've made have been published on my Itch.io page, and can be played from within your browser.
My Itch.io page
This Website

Yeah, I'm including this website as well. It's not a masterclass of web design, but it works for what I need. It gives me a place to share the things I want to share, and provides a base of operation for any other web projects I may or may not want to do in the future (like this or this).

It's also a good place for me to brag about myself ;)