Sort Your Music Gets an Update.
Sort Your Music has been helping people sort their Spotify playlists since 2012. Millions of playlists later, the app just got its first major rewrite. The core idea is the same — pick a playlist, sort by tempo or energy or danceability, save it back — but pretty much everything else is new.

Why Now?
Spotify updated their auth API to require HTTPS for all redirect URIs. Fair enough — it’s 2026, everything should be HTTPS. But that meant I needed a proper TLS setup, and the server Sort Your Music had been running on was a 10-year-old Linode instance that was getting increasingly painful to maintain. Upgrading the OS, patching dependencies, coaxing ancient packages into working with modern TLS — at some point it’s easier to just start fresh.
So that’s what happened. Spanking new server, spic and span secure endpoints. And once I was in there anyway, I figured the app itself deserved a refresh too. The original code was written in a single sitting in 2012 and it showed. The rewrite was also written in a single sitting — but this time Claude wrote all the code. I described what I wanted, reviewed what came back, and nudged things along. The whole thing came together in an afternoon.
Playlist Filtering

The biggest new feature is filtering. If you’re like me and have hundreds of playlists, scrolling through all of them to find the right one is a drag. Now you can filter by category:
- Mine — playlists you created
- Personalized — Spotify’s algorithmic playlists like Discover Weekly, Daily Mixes, and Release Radar
- Spotify — editorial playlists like Today’s Top Hits and RapCaviar
- Others — playlists by other users
- Collaborative — multi-user playlists
There’s also a search box for filtering by name, and a counter showing how many playlists match.
Podcast Episode Support
Spotify playlists can contain podcast episodes alongside tracks now. The old version choked on these. The new version handles them fine — episodes show up in the table (in italics), audio attributes like BPM and energy are just omitted since they don’t apply, and episodes are preserved when you save.
Richer Playlist Metadata
When you open a playlist, the header now shows cover art alongside the title, owner, track count, category, and creation date. Public and collaborative playlists get badges. If the playlist has a description, that shows up too. There’s also a new “Added” column showing when each track was added to the playlist.
Smarter Save Behavior
The save workflow got smarter. The app detects when a playlist is read-only (Spotify editorial playlists, Discover Weekly, etc.) and hides the “Overwrite” option, showing only “Save as New.” When you do save, the new playlist’s description notes how it was sorted. The button gives you a spinner during the save and a confirmation when it’s done.
Progressive Loading
Both playlists and tracks load incrementally now. A progress bar shows how far along things are, and items appear on screen as they arrive. Navigate away mid-load and the request gets properly cancelled — no more zombie API calls.
Modern Landing Page
The landing page makes it clear the app is open source and runs entirely in your browser. No data goes to any server other than Spotify’s.
Comprehensive FAQ
The FAQ got a big expansion — privacy policy, detailed explanations of each audio attribute, guidance on playlist categories, and a screenshot so you can see what the app looks like before committing to a login.
Under the Hood
The original was a product of its era: everything crammed into a single index.html, jQuery, Bootstrap 3, Underscore, DataTables, Q.js for promises. It worked, but it was very much 2012.
The rewrite is vanilla ES modules with zero runtime dependencies. The code is split into proper modules — views, utilities, API helpers, state management — but there’s still no build step or bundler. Edit a file, refresh the browser. Some things don’t need to change.
Auth moved from Spotify’s now-deprecated implicit grant flow to Authorization Code with PKCE, which is more secure and supports refresh tokens. No more re-authenticating every hour.
The CSS uses custom properties for theming with a Spotify-inspired dark palette, and the layout is responsive down to mobile.
Try It
Sort Your Music is live at sortyourmusic.playlistmachinery.com. The source is on GitHub.
Playing with strudel
I’ve been lurking in the live coding world for a few years. I’ve been re-inspired by Strudel. It’s a no-install javascript-centric version of Tidal Cycles that fits into my brain better than the Haskell-derived Tidal every did. I’ll be posting some of my experiments at Music Machinery on the Bear Blog.
Music Machinery on Substack
I fondly recall the Google Reader days when lots of folks were reading long form content. With the demise of Google Reader, and the rise of Twitter, TikTok and Instagram, long form content drifted into the background. But it may be coming back, thanks at least in part, to Substack. I’m going to give Substack a try, so you’ll find new content posted at musicmachinery.substack.com.
My favorite blog post of all time
I’ve been reading blogs seemingly forever. I’ve read lots of great posts .. but there’s one blog post that I still think about all the time even though it is nearly 5 years old. It’s by Sascha Judd and its all boy bands and the diversity crisis in tech. It’s a must read: How The Tech Sector Could Move In One Direction.


Someday I may get back to organizing tech events – and when I do, I’ll be thinking about better ways to engage with fan armies.
Duke Listens! returns (again)
A few months ago, we finally shutdown the final remnants of the old Echo Nest infrastructure. One of casualties of this final shutdown was the archive of my old blog Duke Listens! that I authored while I was a researcher at Sun Labs. However, I did manage to have a backup sitting on an old backblaze disk, so this morning I took a bit of time to re-host it on one of my personal servers. You can find it at:
http://dukelistens.playlistmachinery.com/
The blog serves as a reminder of the history of music recommendation and discovery during the iPhone era. Some notable posts:
- My first MIR-related post (June 2004)
- My first hardcore MIR post (January 2005)
- A decade too early prediction about Apple (January 2005)
- I discover Radio Paradise (April 2005)
- First Google Music rumor (June 2005)
- First Amazon Music rumor (August 2005)
- First Pandora Post (September 2005)
- First mention of The Echo Nest (October 2005)
- Why there’s no Google Music search (December 2005)
- First mention of Spotify (January 2007)
- My review of Spotify (November 2007)
- The Echo Nest goes live (March 2008)
- The Echo Nest launches their API (September 2008)
- My first look at iTunes genius recommendations (September 2008)
- My last post (February 2009)
The World’s First MachineLearning-enabled musical keyboard !?!
Posted by Paul in generative music, Music on December 2, 2019
Today Amazon released AWS DeepComposer which is a keyboard that will let you “create a melody that will transform into a completely original song in seconds”.

To me it looks like an Arturia Keystep knock-off. I’m still puzzling over whether or not there’s any special ML-related features – or is it just a MIDI keyboard that comes with some AWS credits. Anyone with any insights, please let me know.
How Generative Music Works
Posted by Paul in generative music, Music on December 2, 2019
Tero Parvianen has en excellent introduction to Generative Music with lots of live examples. Well worth 20 minutes of your time with lots of food for thought.
Music Machinery Chapter 2
Posted by Paul in generative music, Music, synthesis on December 2, 2019
I’ve spent the last 15 or so years thinking mostly about the machinery that gets music from the bits in an audio recording into the ears of a listener. There are dozens of examples of tools for music discovery, organization and listening in the sidebar at the right on this blog. But lately I’ve been thinking quite a bit more about the machinery that goes into getting the bits into an audio recording in the first place. I’m particularly interested in two aspects of this: (1) music synthesis – the machinery that can create the sounds from scratch and (2) generative music – machinery that can generate the music from scratch.
If you are interested in synthesis and generative music, feel free to follow along in Music Machinery Chapter 2. I’m a newbie at it all so pointers and guidance will be greatly appreciated.
Is this thing on …
Woah, its been a while since I’ve posted to this blog (three and a half years to be exact). I think it’s time for a bit of a reboot on this blog. Stay tuned!
Girl Talk In A Box update
I’ve pushed out some updates to GirlTalkInABox – there are now some nifty filters (chorus, phaser, delay and wahwah), and you can interactively adjust the playback rate of the song. A few other minor changes as well to make live performances a little easier. Check it out at GirlTalkInABox.
