Projects
I've worked on quite a few projects over the years. Here are some of them:
Web

Text-Field Calculator
A calculator that allows you to play with math by evaluating each line whenever you make changes. Powered by Math.js and Monaco Editor.

Tetris Attack
A recreation of the classic puzzle game Tetris Attack built in WebGL. I created all of the graphics and animations using only rectangles as an interesting challenge. My professor said "THIS IS ONE OF THE BEST GAMES I HAVE SEEN IN THIS CLASS".

Challenge Missions
A website for tracking leaderboards for KTANE Challenge Missions. View your stats compared to other players and see how you rank on the solver leaderboard.

TGB Schedule
A schedule made for The Great Berate to allow you easily see when their next stream is in your local time zone. It also has a countdown to the next stream and upcoming streams. Allows TGB to easily manage their schedule from a Google Sheet.

Logfile Analyzer
A tool for analyzing logfiles from Keep Talking and Nobody Explodes. It breaks down everything that happened during a play session and how each module can be solved.

Profile Editor
A tool for editing profiles in Keep Talking and Nobody Explodes. Useful to change what modules you're able to solve so that you can share your profile with other people.
Java
C#
Tweaks
An extensive mod for Keep Talking and Nobody Explodes that adds a bunch of quality of life improvements to the game. Already important, it became essential for playing the game after I added a feature to load mods into memory only when they are needed.

TP:KTANE
A mod for Keep Talking and Nobody Explodes that allows the game to be played on Twitch by using chat commands. I took over maintaining it and it has grown to be one of the most popular ways to play the game.
Skewed Slots
My first module for Keep Talking and Nobody Explodes, where each calculation depends on the previous one, making it more difficult to solve.
The Gamepad
A module for Keep Talking and Nobody Explodes where you use the numbers displayed to find the correct cheat code. Which you enter on a video game controller.
Broken Buttons
A module for Keep Talking and Nobody Explodes where you have to follow a set of rules to find which button to press but that changes the text on the button. So previously inapplicable rules can become applicable.
Cheap Checkout
A module for Keep Talking and Nobody Explodes where you have to calculate the change to give a customer based on the items they are purchasing. Watch out for quirky sales depending on the day of the week and weight based items.
Creation
A module for Keep Talking and Nobody Explodes where you combine elements to create a new lifeform! Be careful as changes in weather can throw off your combinations.
Minesweeper
A module for Keep Talking and Nobody Explodes where you get to play the classic game of minesweeper! But you'll need to figure out where you can begin digging. Guarantees puzzle has a unique solution that requires no guesses on puzzle generation.
Synchronization
A module for Keep Talking and Nobody Explodes where it's become horribly desynchronized! Can you fix it? Sync all the lights up on the module and then sync the module to the bomb to solve this module.
Encrypted Equations
A module for Keep Talking and Nobody Explodes where the equations have been encrypted! Decrypt the values, operators, parentheses, and more to solve the equation.
