Reading Time: 2 minutes | Published: 2023-01-17 | Last Edited: 2023-04-06>

Most of my projects are hosted on Sourcehut, but some of my older projects can also be found on NixNet’s Forgejo instance. I do have a Github account, but I don’t actually host any projects on it as I prefer more open platforms.

All of these projects were created to scratch an itch.

Active projects

These are what I’m currently focusing on.

earl (2022-01-01) (Go)

I take a lot of hand-written notes and wanted a quick way to write down web references. I was unsatisfied with all of the current URL shortener implementations so I decided to write my own.

Finished projects

These are projects that I consider “finished”. I might fix the occasional bug, but they meet my needs as they are and I will not be adding major swaths of code to introduce new features.

p2c (2023-04-05) (Go)

Generates cover images for Hugo sites using the page's frontmatter, the site's global config, and file's metadata. It's written in Go and generates images using Gio, a cross-platform GUI framework. It generates the cover images for most of the pages and posts on this site.

go-webring (2021-12-18) (Go)

This is generalised software for creating and maintaining old-school webrings. It currently powers

Future projects

Tools I want but that I haven’t necessarily had time to start on yet

Alternative Bond Touch client/server

The official app is just an unusable pile of trash. I want to reverse-engineer the bracelet's Bluetooth protocol and implement my own client/server. Client functionality will be strictly limited to sending/receiving touches and matching touch patterns with user-defined messages. Server functionality will be strictly limited to transferring touches between devices.

Abandoned projects

Unfinished tools I don’t plan to finish

rārangi (2021-10-12) (Go)

A todo TUI that operates on basic text files. Unfinished items are denoted with a - and finished items are denoted with a +. I wanted to try Bubble Tea but decided it was more complicated than I was ready for at the time.