Albumize
ActiveAlbumize takes a Spotify playlist and replaces every track with that track's entire album, saved as a new playlist — because algorithmic playlists like Discover Weekly are great at finding artists and terrible at letting you actually listen to them.
Repository: https://gitlab.com/KirboDev/agentic-coding/albumize.
It's the desktop conversion of my old Spotify-Playlist-Expander web app, rebuilt as a Tauri 2 app for three concrete reasons the website could never fix:
- Automation — scheduled expansions (Discover Weekly every Monday, Release Radar every Friday) run unattended from the tray, with no window open
- Durable settings — the old SPA (Single-Page Application) kept ignored keywords in
localStoragebehind a modal that silently discarded edits on Cancel - A real app — autostart, self-updating, and a log of what the automations actually did
The engine lives in Rust: Spotify auth via PKCE (Proof Key for Code Exchange) loopback (no client secret anywhere), a rate-limited API (Application Programming Interface) client with token-bucket + Retry-After backoff, and a scheduler whose idempotency needs no server and no state file — "did this week's run happen?" is answered by whether a playlist with the exact rendered name (like ALB-202634-Discover Weekly) already exists. Playlists are created under a work name and renamed only after all tracks land, so a crash mid-run can never leave a half-filled playlist that counts as done.
The date-format tokenizer behind those names is implemented twice — Rust for real, TypeScript for live preview — and both run the same JSON (JavaScript Object Notation) test vectors, so the two can't drift apart silently. The default format is GGGGWW (ISO (International Organization for Standardization) week-year), not YYYYWW, for a reason worth a blog post of its own: calendar-year week numbers collide across New Year and quietly break weekly idempotency.
The war stories — AppImage packaging, OAuth (Open Authorization) port squatting, the three silent weekly-loss bugs — are in the Albumize blog post.
Status: functionally complete and in personal use; end-to-end verification against a real Spotify account is the remaining milestone.