_____ _               _               _____ ____  
 / ____| |             | |             | ____|___ \ 
| (___ | |__   __ _  __| | _____      _| |__   __) |
 \___ \| '_ \ / _` |/ _` |/ _ \ \ /\ / /___ \ |__ < 
 ____) | | | | (_| | (_| | (_) \ V  V / ___) |___) |
|_____/|_| |_|\__,_|\__,_|\___/ \_/\_/ |____/|____/ 

My Projects

I've worked on a handful of personal projects over the past few years, most of which are available on my GitHub.


In Development

FreeBSD Ports Buildbox

A collection of scripts combined with a Vagrantfile for building FreeBSD ports in a virtual machine with Poudriere.

Ports Buildbox on GitHub

Gemini Actions

GitHub Actions for publishing Gemini sites.

Gemini Actions on GitHub


Hoard is a program for storing files from across the filesystem in one location, with the ability to conditionally restore files based on the current environment. The original intent was to back up and sync saves for PC games that don't support it, but it can easily be used as a "dotfile manager" to synchronize configuration files across multiple machines.

Hoard on GitHub

On Hiatus/Bugfixes Only

These projects may or may not receive future development as priorities and interests change.

Bastille Mindustry Template

A template repository for installing/setting up Mindustry server in a Bastille jail on FreeBSD.

Bastille Mindustry Template on GitHub

Mindustry Admin Plugin

A server plugin for Mindustry that aims to expose the admin commands to the in-game chat, for approved players only.

Admin Plugin on GitHub

Mindustry Auth Plugin

A server plugin for Mindustry that aims to allow users to register their preferred username with a password.

Auth Plugin on GitHub

Mindustry Auto-Pause Plugin

A server plugin for Mindustry that automatically pauses the game if no one is connected and resumes once someone connects again.

Mindustry Plugin Template

A template GitHub repository to make it easier to start a new Mindustry server plugin.


A hosts file editor and system-wide ad blocker.

Shadowhosts on GitHub


A web application for managing Pathfinder character sheets. Also my (group) senior project in college. Not quite yet in a usable state.

Tavern Organization on GitHub

Town Adventure Demo

A demo-sized sandbox text adventure written in Inform. Includes a number of Inform plugins that are useful for implementing this type of adventure.

Town Adventure Demo on GitHub


These projects are not intended to received any more development, either because they are no longer useful to me or because an eventual rewrite is planned.


A set of bash scripts that wrap other programs to search YouTube, download a video, and play it in the terminal using aalib.

ASCIItube on GitHub

Funtoo Admin

A set of bash scripts and other files that made administering my Funtoo systems easier.

Funtoo Admin on GitLab

Interparser (Go)

Library for Go programs to succinctly parse `interface{}` variables without boilerplate.

Interparser on GitLab

Merge Config (Go)

Library for Go programs to merge multiple unmarshalled `map[string]interface{}` variables together into one `map[string]interface{}` that can then be parsed.

Merge Config on GitHub


A custom theme for Hugo. This website used to use it before I migrated it to use Gemini. It has a lot of customization features (which honestly made it a small nightmare to maintain).

Midnight on GitHub

Nebula Forms (Go)

An API server written in Go to handle form submissions on static sites. Uses Go's templating system to customize e.g. emails. Currently in usable alpha state.

Nebula Forms on GitLab

Student Queue

A web app written in high school to help teachers and TAs keep track of which students need help and in what order, with two database plugins.

Student Queue on GitHub MySQL Plugin on GitHub MariaDB Plugin on GitHub


A CLI Java program I made as a report for my high school culinary class.

Twinkies on GitHub

Zip Builder (Bash)

A set of bash scripts for building a flashable OTA zip file for Android.

Zip Builder (Bash) on GitHub