SPYTFY
// the case study
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