Projects

These are the libraries and tools I've put into the world on my own terms. Open source is where I get to pick the problem, own the decisions end to end, and hear back from people I'd never otherwise meet.

Some of it's small. Some of it's been running in production for years. All of it taught me something.

realtime-bpm-analyzer

304stars8.0kdownloads / month

TypeScript library for real-time BPM/tempo detection in the browser using Web Audio API and AudioWorklet.

TypeScriptWeb Audio APIAudioWorklet

multilinguarr

6stars

Rust service that enforces dual-language audio in Radarr/Sonarr media stacks. Triggered by webhooks, manages symlinks between storage and language-specific Jellyfin libraries.

RustAxumTokioDocker

docker-exporter

1stars

Lightweight Rust Prometheus exporter for Docker containers, built for ARM64 hosts where cAdvisor reports zero memory on cgroup v2. Drop-in metric names so dashboards swap without rewrites.

RustPrometheusDockerARM64

jellyfin-exporter

1stars

Rust Prometheus exporter for Jellyfin — sessions, transcoding details with reasons, library statistics, and exporter-self pipeline health. Resilient by design (retry + circuit breaker), optional Bearer auth, multi-arch image on GHCR.

RustAxumPrometheusTokioDocker

hexrack-sbc

1stars

3D-printable modular rack case with a 92mm Noctua fan, designed in OpenSCAD. Includes a React website with a Three.js STL viewer.

OpenSCADReactThree.jsGitHub Actions