Neural Network Training Sandbox
ML really isn't my thing, but in 2024 I decided that I should at least know how it worked. To that end I built a feed-forward neural network from scratch in Java, without any high-level ML libraries. I wanted a way to visualize the learning process so I built a JavaFX GUI that allowed real-time parameter tuning.
The network learns to classify categories of data based on their 3D coordinates. The GUI shows the network's current classification choices as well as the average accuracy.
Download the Jar executable, download and install the Liberica Full JDK 21 then run
java -jar .\NeuralNetwork.jar
Slime Mold Simulation
Inspired by Sebastian Lague's Unity slime mold simulation I made a GPU accelerated slime mold simulation in threeJS. The TSL compute shading language is nicely abstracted from the underlying WGSL, which allowed me to focus on the tricky texture logic. Play around with it here
Some browsers do not yet fully support WebGPU, particularly on mobile phones and older computers, so the simulation may not work properly on all devices.
React App & GCP CI/CD
In 2025 I picked up the Road to React during a period of interest in frontend development. I wanted to make a simple React web app, and in the process learn some important skills they don't teach in a standard CS curriculum.
The app is simple. The user is first presented with a map of the US rendered as SVGs. Clicking a state zooms in, slides out a side panel, and fetches a list of that state's representatives from a cloud run service.
The point of this project was not the clunky UI though. In the process I learned how to use React, Docker, automated testing frameworks (pytest and jest), and implemented a CI/CD pipeline with GCP Cloud Build.
The app is available for testing here