Music Discovery Engine

Automated playlists from a self-hosted library.

A system for finding music worth listening to in a library that's grown faster than I can actually listen to it. Combines listening history and playlist generation to surface tracks that have gone unheard.

Library & playback

  • Navidrome. Self-hosted music server with Subsonic API compatibility. Serves the full library to any client.
  • Music Assistant. Handles playback and multi-room audio, pulling from Navidrome and integrating with Home Assistant for presence-aware playback.
  • ListenBrainz. Every play is scrobbled, building a permanent record of listening history. Used to drive playlist generation and track what's actually been heard.

Discovery

  • Weekly playlists. Generated from unplayed albums, recent acquisitions, and tracks that fit current listening patterns. Surfaces the library rather than letting it sit idle.

Tech stack

Navidrome Subsonic API Music Assistant ListenBrainz Python