Side projects
Most of these started with “how does X work?” or “why isn’t there an X for this?”
A fast, native GUI diff viewer for Linux, built in Rust with egui.
A personal read-it-later app. Flutter frontend for Android and web; Hono backend on Cloudflare Workers with D1.
A declarative CLI for tasks and reminders, backed by systemd timers.
Web scraper and CLI that bridges a TV-show tracker with torrent search sites.
A daemonized shell with multi-client attach: connect from another terminal, or from a browser via libghostty.
An implementation of the Raft consensus algorithm in C#, with a companion web-based simulator and visualizer.
A proof-of-concept Change Data Capture pipeline for maintaining real-time aggregations without recomputing from scratch.
A file integrity checker built on BLAKE3, faster than hashdeep.
Smaller things
Generates RSS feeds for sites that don't offer them, run daily by GitHub Actions.
A Ruby gem for building simple Slack bots over Socket Mode, written when we needed to migrate an internal bot at work.
mise integration for Sublime Text — auto-activates the right tool versions per project.
Rename many files at once from inside Sublime Text.