Below is a summary of several of my personal projects. From June 27, 2018 to December 31, 2020, 918 days, I coded personal projects every single day. The reason for stopping was because I was soon going to be starting a Master's in Cybersecurity and didn't feel I could do both well. In that time, I worked on the File Center, Tak, BGT, and Advent of Code projects, as well as several others that are still in progress.
This project allows for someone to play the board game Tak against an AI or others online.
The AI is a MiniMax player where the heuristic is a backpropagation trained neural network.
The online server is written in Spring Boot and allows for friends, messages, rankings, and random matchups.
Technologies: Java, Spring Boot, Hibernate
After creating Tak, I wanted to make more board games, but without having to reuse code.
BGT is a toolkit which implements a bunch of game components to create the engine, as well as a generic server.
While still in progress, it should make creating a board game take very little time.
Technologies: Java, Spring Boot, Hibernate
The inspiration for this website was how complicated it can be to transfer files with others.
My solution is a Node and Angualar web application which you can host on your local machine.
Then anyone can go to the web address to either give you files, or get files from you.
Technologies: Typescript, Javascript, Node, Express, Angular 7
This was a combined electronics and programming project.
I had a light up model of the moon called a Moon in My Room that had very little functionality.
I replaced the internals with an Arduino nano in order to give it more features.
Technologies: C++, Arduino
The inspiration of this project was to practice soldering.
My first cube is 4x4x4, but I will eventually create an 8x8x8 cube.
An Arduino uses multiplexing to display whatever I program onto the cube.
Technologies: C++, Arduino
Advent of Code is an annual set of puzzles released on the first 25 days of December.
Since 2019, I have enjoyed solving them each day with a new language I want to learn.
2019 Technologies: Clojure
2020 Technologies: Rust
I participated for 3 year in the MIT hosted Battlecode competition.
The challenge was to program bases to spawn units and fight each other.
In my third year, my team made it to the finals, ending up in 9th out of 150 teams.
Technologies: Java
I spent a little time as a Dasher for DoorDash, and wanted to be able to optimize my day.
I created this project to log everything about a dash, and used that to find the best times and places.
It is designed to be easily extensible so more analysis tools could be created.
Technologies: Python
The original goal of this program was to create a way to control powerpoint presentations with a Wii Remote.
I ended up expanding that to add more modes, with more functionalities.
You can connect the remote through bluetooth, and it then will emulate a mouse and keyboard.
Technologies: Python, Wmgui
This was one of the first projects I completed.
It is an implementation of the game minesweeper, which I wrote in java.
It can play small, medium, and large maps and will keep track of completion times.
Technologies: Java