SpotifFLAC
Spotify metadata for a lossless local library - ISRC-anchored tags, artwork, and library verification.
source(opens in new tab)The problem
A lossless music collection (audio compressed without discarding source data) is only as pleasant as its metadata. Files gathered over the years arrive with inconsistent tags, missing artwork, and naming schemes that made sense to whoever wrote them (past me, usually). Spotify, meanwhile, has already done the cataloging work: canonical titles, artists, albums, release dates, artwork, and - most usefully - ISRC identifiers (codes that identify individual sound recordings) that name a specific recording regardless of which file happens to contain it.
SpotifFLAC uses that catalog as the metadata layer for a locally owned collection.
Architecture
SpotifFLAC is an Electron desktop app (React 19 renderer, TypeScript main process) that accepts Spotify tracks, albums, playlists, or whole artist discographies as input. The ISRC is the anchor for everything: before any work happens, the library is scanned for files already carrying the same recording's ISRC, so duplicates are skipped, files missing their metadata get repaired in place, and a different recording at the expected filename is treated as a conflict rather than overwritten.
The tagging pipeline is careful in ways that matter for FLAC (a lossless audio file format): ordered Vorbis comments (FLAC metadata fields stored as key-value pairs) for title, artist, album, dates, track and disc numbers, and ISRC; structural blocks like STREAMINFO and SEEKTABLE (FLAC headers for stream properties and seek indexes) preserved; old picture blocks removed before new art is embedded so covers do not accumulate; and every rewrite done atomically. Artwork resolves from several sources with a cache-first strategy, preferring the highest resolution actually available.
SpotifFLAC verifies the library for missing or inconsistent tags and artwork, and removes junk comment fields left by other tools in bulk. An ffmpeg-based analyzer flags files whose spectral content suggests they were upscaled from lossy sources - useful when auditing a collection of mixed provenance. Catalog metadata, ISRC mappings, and artwork live in local SQLite caches so repeated runs stay fast and polite to the APIs involved.
Boundaries
SpotifFLAC is personal-use software for managing a collection you own, and the README says so explicitly - what you may retrieve, from where, is governed by copyright law and the terms of the platforms involved, not by the tool. Spotify is the metadata and discovery layer, never an audio source. Everything it produces stays local: files, tags, caches, and settings, with no application-owned backend. And metadata quality is bounded by catalog coverage - obscure releases and regional editions still need a human ear (no API for taste) and occasionally a human hand.