CH 05.03 ── OPEN SOURCE

SPYTFY

// the case study


SPYTFY key art

Your Spotify library, downloaded as a real music library. Paste a link, own the files.

// the numbers

kbps tagged MP3s
320
duration match window
±5s
post-write verification
SHA-256
installer on Releases
v0.1.0

// the brief

Desktop app that turns Spotify tracks, albums, and playlists into properly tagged 320 kbps MP3s — real cover art, ID3v2.4 metadata, clean folder structure. Rust core, Angular face. No cloud, no telemetry, fully offline after setup.

// the wins

  • v0.1.0 shipped — Windows installer live on GitHub Releases
  • Rust + Tokio pipeline: resolve → match → score → download → tag → verify
  • Screenshot a playlist and OCR imports every track
  • Cover art embedded at ≥300×300 and verified post-write via SHA-256
  • SQLite-backed queue survives restarts — pause, resume, cancel, retry

01 // the itch

Streaming is renting. DJs, archivists, and home-server people want files — tagged right, organized right, playable anywhere. Spytfy takes a Spotify link and hands back a music library.

02 // the pipeline

Resolve metadata from Spotify, search YouTube, score candidates on title similarity and duration within ±5 seconds. High scores download automatically; low scores surface the top three for a human pick. Then transcode, tag, embed art, verify the write.

03 // the desktop call

Tauri over Electron: a fraction of the bundle, native Rust performance, no shipping a second browser. Angular 20 with OnPush keeps the UI snappy while the Tokio worker pool grinds through a playlist.

// the panels