I built Vynl because Spotify kept messing up my playlists.
A one-person project, an open-source codebase, and a music collection of 500 CDs and 1,000+ vinyls that finally has a home.
A one-year journey from furious to freed.
Hi, my name is André, and I love music.
I built Vynl because my music collection had outgrown the apps I was using to manage it. Spotify was useful, but it was never home. My own CDs, vinyl rips, playlists, and folders deserved a place that treated them as the source of truth — not a streaming service quietly rearranging what I'd already paid for, year after year.
So Vynl was born. It started as a Sunday-afternoon side project and turned into the only music app I actually open anymore. Built around three obsessions, in this order:
How it was built, one obsession at a time.
Get the existing library in order.
Five hundred CDs in plastic crates. A thousand-plus vinyls on the shelf. A hard drive of half-ripped folders going back to 2003. The first job was to clean it all up — proper cover art, correct artist names, consistent folder structure, and a fast index that worked across the home network. Beets did the heavy lifting; AI handled the edge cases where Beets gave up.
Bring every Spotify playlist home.
Years of carefully tended Spotify playlists, hostage to a service that periodically removed tracks and reshuffled the rest. Vynl now mirrors every playlist into the local library and shows me, honestly, which tracks I already own and which are missing. The gaps go to a wishlist I can fill manually or hand to Lidarr — Vynl doesn't pretend to be the source of the music itself.
Make it work in my pocket.
The last piece is the iOS app — my own library streaming over Tailscale, offline sync for the train, CarPlay for the morning drive. It ships this summer, free like everything else, since Apple takes the cut on App Store payments anyway. The point was always this: my music, on every device I own, without paying a streaming company to collect data on me.
All of it. On GitHub.
Vynl is open source so you can try it yourself, audit what runs against your music, or contribute when you feel like it. No proprietary dependencies you can't inspect, no “trust me” for the AI prompts, no analytics SDK quietly phoning home. Fork it, run it, change it.
Self-hosted music streaming with AI-powered discovery, Sonos integration, and zero subscription fees. Open beta.
Released every
few hours, lately.
Migration UX cleanup + “Since” timeframe filter
spotDL + yt-dlp shipped in the production image
Contribution surface — GitHub issue & PR templates
Migration wizard v2 — spotDL + “Not Found” bucket
Tailscale audio URL leak — plugged
Spotify Migration Wizard — the big one
Real DB-backed API key storage
Now shipping, live.
Migration UX cleanup + “Since” timeframe filter
Get pinged when a release lands.
Pick whichever fits your day. Each route gets the same release notes — pre-release builds available on the dev channel.
The release notes in your inbox, with a docker pull line ready to paste. Unsubscribe in one click. No marketing, ever.
Use the GitHub UI to watch only Releases. Notifications land via the channel you've already configured.
For NetNewsWire, Reeder, Miniflux, or your home-server bot. Same release-note payload as email, in plain XML.
Release news and casual support live in the Telegram group. Ping the maintainer, talk to other self-hosters, share what you're listening to.
