I’ve got plenty of side projects that range from small experiments, helpful little tools, to learning aids for new languages or frameworks. Once in a while they grow into something of their own that I want to share, or at the least showcase. This list, while certainly not exhaustive, is a small showcase of those projects that I’m most proud of or get a lot of value out of daily.

Most of the projects listed here are not “finished” and many are in a state of maintenance or hibernation, but I still found the experience, lessons and ideas from them fulfilling.

Browser Extension

Broom is a browser extension for Firefox and Chrome that lets you scrape data from a web page up into a CSV or JSON file.

Browser Extension

Raton is a minimal RSS feed reader designed to let you read the feeds and get out of your way, packaged as a browser extension.

Web App Browser Extension

transientBug is a bookmark manager designed to help solve the problem of aging and dead links.

Web App

Bones is a small tool for managing remote Fossil-SCM repositories, giving an interface to find as well as create new Fossil repositories that can easily be shared and collaborated on remotely.

Web App

Please Do Not Rob Fish is a small photo organization and hosting site. Born out of the need to use a joke domain

Puzzle Solutions

I started actively participating in Advent of Code in 2021 and have made a point of trying to write understandable code, rather than reach the solution the fastest.

iOS App iPadOS App macOS App

MQTT Explorer is designed to make monitoring an MQTT bus easier by providing a lightweight app with topic subscriptions, monitoring of latest messages and publishing new messages.

TUI Text Editor

AnglerFrame is a (partial) Swift based port of Antirez’s kilo editor and is intended as a learning experiment into VT100 commands as well as more “system” programming using Swift.

Latest log entry: Jan 8th, 2024

Browser Extension

Duckware is a QA and developers dream. It records events happening on a webpage, ranging from clicks to websocket data and network requests and allows packaging it up with timestamped screen recordings to send over to developers to help hunt bugs.

Web Service

LimeJuice is my own adventure in replicating the great PocketBase using server side Swift instead of Go, and WASM as the integration language instead of Javascript.

Programming Language

SpiderMite-lang is a multi-pass programming language implementation that I’ve been using to explore the ideas of how to implement type-checking and pattern matching.

Project Icon Credits

Because I have no art skills beyond the bug logo.