Skills

Give me new things to learn.

Paint
Glue
Cardboard

Projects

Software is never truly finished.

Your Dream Project

I can see it now: pictures of your beautiful software next to a wonderful description of the cool things it can do. Contact me today and lets see what we can build together.

This Site

Some HTML, a coat of CSS, and a sprinkle of JS, just like your grandparents used to make.

Recipiece

Recipiece is a webapp that I am building to manage my cooking and baking. I got tired of trying to come up with lots of meals every week, so I decided to build an app to help streamline that. Recipiece is hosted at https://recipiece.org and is open sourced on github.

It is written primarily in TypeScript with a Node.js backend and a React frontend. It can also act as a PWA, and is designed with mobile in mind. Other notable tech used for this project includes Redis, Postgres, Python (primarily FastAPI), NLP, Docker, Nginx, and Terraform. Much of the frontend is built using ShadCN and Radix. Recipiece is hosted on Digital Ocean and uses Xata for database hosting.

Fermentation Chamber

This project was an RPi controlled insulated wooden box for fermenting various foods and drinks. The board had a small server running on it that could be easily communicated with via a simple client interface. Temperature was managed via a relay connected to a heat lamp bulb, and readings were taken from a simple temperature sensor. The chamber worked well until the relay busted one day, keeping the heat lamp on and causing the temperature to exceed 120°F. Seeing as botulism can take hold of an improperly fermented good, I was forced to dispose of all of the contents and tear down the chamber. Eventually, it will be rebuilt with a proper (i.e. not ordered from a shady Chinese Ebay shop) relay.

Gloomhaven Printing

I play a board game called Gloomhaven with my friends. I also own a fleet of 3D Printers, both FDM and SLA. An amazing project on thingiverse allowed me to get started, printing all of the cardboard enemies in resin. Since we use an app to play the game, we didn't need the damage counter, and that meant I could save some printing waste by adapting the models slightly. Then I needed storage for these; I learned OpenSCAD and designed some boxes, and a magnet system to allow the miniatures to sit in the boxes. I also discovered a magnetic hex system that would spruce up the cardboard map tiles too, so I've added that to my laundry list of tasks towards this project. This is an ongoing project, that has required a surprising amount of planning and a not-so-surprising amount of time learning to fix 3D printers.
Other technologies that I have dabbled in with this project include

Other stuff I've played around with and could probably pick up relatively quickly again

Sometimes I play with a technology, more so that I can just know of its existence. I am by no mean an expert, but learning things is fun and I'm always up for a challenge. Some examples of these include