Introduction
Spotter is an AI-powered playlist generator for Navidrome. It aggregates your listening history from Navidrome, Spotify, and Last.fm, then uses that data to generate personalized playlists. Its metadata enrichment pipeline produces intelligent summaries, biographies, and tags for your music library.
Key Features
- Unified Listening History: Syncs recent listens from Navidrome, Spotify, and Last.fm into a single view with pagination
- Playlist Management: View and sync playlists from all connected services
- Vibes Engine: AI-powered mixtape generation with customizable DJ personas that curate playlists based on your listening history
- Navidrome Integration: Log in using your existing Navidrome credentials
- External Service Support: Connect your Spotify and Last.fm accounts to import history and improve recommendations
- Metadata Enrichment: Automatically enriches artist, album, and track metadata from MusicBrainz, Fanart.tv, Spotify, Last.fm, and more
- AI-Powered Enrichment: Optional OpenAI integration generates intelligent summaries, biographies, and tags for artists, albums, and tracks
- Real-time Updates: Server-Sent Events (SSE) push new listens and sync notifications to the UI automatically
- Retro-Themed UI: Custom-designed themes featuring a warm 1970s music cabinet aesthetic (light mode) and an 1980s cyberpunk vibe (dark mode)
Architecture Overview
Spotter is built with:
- Backend: Go with
chirouter and Server-Sent Events (SSE) for real-time updates - Database: PostgreSQL (recommended), SQLite for development (via
entORM) with automatic migrations - Frontend: Server-side rendering with
templ+HTMXfor interactivity and real-time updates - Styling:
DaisyUI+Tailwind CSSwith custom retro themes and@iconify/tailwindfor icons - Background Jobs: Configurable periodic sync for all connected providers
- Real-time: Event Bus + SSE for push notifications and live updates
- Metadata Enrichment: Pluggable enricher system that aggregates data from multiple sources