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.


Sort Your Music

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


playlist picker

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.

, , , , ,

Leave a comment

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.

Leave a comment

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.

Leave a comment

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.

The gendered aspect of it kept bugging me.  It seemed like it was okay to be hysterical about some things, but not others.

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.

Leave a comment

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:



, ,

Leave a comment

The World’s First MachineLearning-enabled musical keyboard !?!

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”.

AWS DeepComposer keyboard

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.

1 Comment

How Generative Music Works

How Generative Music Works 🔊 2019-12-02 14-35-22

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.

How Generative Music Works

Leave a comment

Music Machinery Chapter 2

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.

 

2 Comments

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!

2 Comments

Girl Talk In A Box update

2016-04-30 at 7.31 AMI’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.

 

 

Leave a comment