9016 — in production since June 2026
Bard
A music player and downloader that thinks in songs.
The usual self-hosted music stack — Navidrome for playback, Lidarr for acquisition — is built around albums. I wanted individual songs, so I replaced the whole stack with one application.
Bard keeps a per-song wanted list. A worker searches Soulseek through a local slskd instance, ranks candidates by title match, format, duration and peer health, and falls back to YouTube when Soulseek comes up empty. Files get retagged on import from the metadata I asked for, not the metadata the peer happened to ship. Failures retry on a backoff ladder rather than disappearing.
It scrobbles to ListenBrainz and imports the weekly playlists ListenBrainz generates, queueing anything missing from the library. It speaks OpenSubsonic, so ordinary phone clients work against it. There's a podcast subsystem that streams episodes through a proxy, keeping private feed tokens server-side. The frontend uses no framework.