Projects

I've written a lot of software. Most of it is buggy, inefficient, out of date, or otherwise incomplete, but I like to make it public so people can see what I'm working on.

Actually, there is a lot of discourse about how such "indie software" should be shared with the community. You can read more about that here.

Apps & Websites

Published tools and products for a wide audience.

Alarmio
A simple alarm clock focused on design, readability, and internet radio.
Metronome
A lightweight, well-designed metronome app for Android.
Asteroid
A simple Android game based on avoiding incoming asteroids

Tools & Libraries

Smaller projects used in other work, intended for myself and other developers.

Attribouter
A lightweight "about screen" library to allow quick but customizable attribution in Android apps.
ColorPickerDialog
A simple dialog making it quick and easy to add color picking functionality to any app.
Crasher
An easy to use crash reporting library for Android.
Git-REST API Wrapper
A "universal" / normalized API wrapper for git hosting services.
dot.css
Double Dot Labs stylesheets / CSS framework.
Ktor-Docs
Automated API documentation for Ktor/JVM servers
Mdjavadoc
A script that generates markdown javadocs for use in Jekyll and GitHub Pages.
Minecraft Packager
A framework for dynamic data-driven code generation in Minecraft datapacks, powered by Nunjucks templating.

Just for Fun

Weird tools or programs that have no real purpose.

Declarativ
A declarative HTML rendering library that is definitely not JSX.
ExceptionalTraveler
An implementation of the Traveling Salesperson Problem using the fundamentals of Exceptional Programming.
Scrurl
Scrolling urls, a.k.a. the second worst website I've ever made.
Nil
A work-in-progress custom game engine built with WGPU

Deprecated

Things I've stopped working on or no longer maintain.

Pasta-for-Spotify
A material design Spotify client for Android
Status
A no-root status bar replacement for Android.