What it is
Vibe is a local-first music library tool for YouTube Music. It snapshots the library, catalogs liked songs and playlists, and turns the "I loved this three years ago and forgot it existed" problem into a dashboard instead of a memory test.
The first version is deliberately read-only. It can authenticate, sync the library, keep a SQLite catalog, capture snapshots, and show forgotten tracks, recent plays, playlists, and library shape in a browser. Write actions like playlist cleanup or generated rediscovery mixes stay behind a future safety gate.
Why I built it
Liked Music eventually becomes a basement. The songs are still there, but the top layer keeps getting shuffled by whatever I played last week. Recommendation feeds are useful, but they are optimized for engagement, not for reconnecting me with my own taste.
I wanted a calmer tool: something that knows my library, preserves snapshots before any future mutation, and can surface neglected tracks without pretending the answer is another infinite feed.
What it does now
- Read-only sync — pulls liked songs, playlists, playlist entries, and listening history into a local catalog.
- Snapshot safety — writes full-library JSON snapshots so future write-capable cleanup has a rollback story.
- Rediscovery views — highlights forgotten liked songs and playlist corners that have fallen out of rotation.
- History poller — watches new listening history after startup so play events can accumulate over time.
- Dashboard — serves a browser UI for library, forgotten, recent, and playlist views.
What I learned
- Music libraries need a safety rail before they need automation. A write-capable organizer is tempting, but the first valuable product move is a trustworthy snapshot and a read-only mirror.
- "Forgotten" is a product definition, not just a SQL query. Recency, repeats, playlist membership, and listening context all change whether a song feels neglected or just seasonal.
- Provider APIs deserve distrust. The app now treats transient history errors as something to log and survive, not a reason to tear down the whole server.
Status & next steps
Phase 1 is partially verified locally against the real account. The catalog, snapshot, and dashboard paths work; the remaining proof is user review of the Forgotten view and a longer listening-session poller run that records new play events naturally.
The preview at vibe.jhinx.dev is a visual preview of the product direction, not the running app. Before Vibe goes public, it needs dashboard auth and a careful decision about which write-capable playlist tools are safe enough to expose.
