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
TypeScript library for real-time BPM/tempo detection in the browser using Web Audio API and AudioWorklet.
multilinguarr
Rust service that enforces dual-language audio in Radarr/Sonarr media stacks. Triggered by webhooks, manages symlinks between storage and language-specific Jellyfin libraries.
docker-exporter
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.
jellyfin-exporter
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.