"Music library transfer service across Spotify, Apple Music, and Last.fm. Move playlists, liked songs, and listening history between platforms with quality-scored matching."


Shiftune is a self-hosted music library transfer service that bridges Spotify, Apple Music, and Last.fm. It handles the messy parts — OAuth flows, catalog mismatches, regional availability, and partial matches — so libraries actually arrive intact on the other side.
Most existing transfer tools either give up at the first unmatched track or silently lose data. Shiftune treats every track move as a scored decision: a 100% match is auto-added, a low-confidence match goes into a review queue, and unmatched tracks land in a "Not Found" list you can search manually. Liked songs, playlists, and play history are all transferable, and a mirror mode keeps both sides in sync over time.
SvelteKit 2 + Svelte 5 on the frontend. Supabase (Postgres + Auth) for user state and matching cache. Cloudflare Workers handle the Spotify OAuth proxy and Last.fm rate limiting. Deployed via Docker on Hetzner through GitHub Actions and Tailscale.