Projects
The following are more recent things that I have worked on. All of my projects can be found on my github, but I mention the more notable ones here.
2025
Evenfall (Ruby on Rails)
The 3rd project in the 1212 learning process. Evenfall is a real time chat application that was built in a single week. Given the limited time compared to the other 1212 projects, this was an exercise of getting something small, but robust out the door. While the features are limited, there was a stronger focus on consistent UI and UX. Evenfall was the first project where I actively tested on mobile during its development.
Phasmid (Ruby on Rails)
The 2nd project in the 1212 learning process. This project is a bug tracker that was built in two weeks. Users can create projects, assign bugs to those projects, and add tags to those bugs. Depending on what tags are assigned to a bug, the bug will receive a particular bug score that estimates its severity. This was a considerable improvement over Bloggington in a lot of ways, and gave me opportunities to improve how I organize and format web applications.
Bloggington (Ruby on Rails)
This project was done as part of the 1212 learning process. Built in a single month, it is a simple web application that lets people make blog posts and comment on them. The goal of the project was to get me acquainted with Ruby on Rails. While it does have the core intended functionality I set out for, it is deliberately incomplete and rough around the edges given the time frame and my unfamiliarity with Rails when making it.
2023
Falling Sand (Rust)
This is a little experiment I did with Rust/Bevy as a small 2-day (and some change) hackathon. It essentially lets you spawn little blocks of the following types:
- Sand: This is the meat and potatoes of the game, and essentially it will try and fall downwards when possible. It will not move directly side to side however, so it is not quite as fluid was the water block
- Water: This block is like the sand block but will move side to side as well, giving it a fluid effect. While the behavior of which direction it goes (between left and right) is supposed to be random, it will generally lean towards the left for some reason, leading to some strange effects.
- Solid: This block will not move. Ever. It does pretty well of holding the other blocks, but it has to be completely sealed. If it looks like this:

then it’s possible for other blocks to go right through it diagonally.
Anyhow, it was a fun experiment and it was cool to see unfold. I may come back to it one day if I decide I want to go crazy with these neat sorts of physics.
Avoider Game (Rust)
Also done in Rust/Bevy.
The name of this game is rather misleading since I did end up extending the scope past simply avoiding the bad guys, and also included shooting of the bad guys. I know, I know, it was a very brave and innovative change of scope and you can leave your awards right there on my desk.
I was too lazy to change the name to something different to match this scope, so it shall henceforth be called the avoider game.
Jokes aside, this is effectively galaga but horizontal, less flashy, and no sound. It was a fun learning experience and it is a complete game. The final level is level 4, and once you clear out the bad guys then you win!
Shape Learning (Python)
While not quite as “accessible” as the previous two projects, this was an interesting experiment I did with Python and tensorflow. Essentially, I created a mini image generator that created shapes and used it as data for machine learning. There are instructions for setting it up in the readme. It’s not perfect, but it was definitely fun to make!