Recent updates
[Changelog] September 4, 2026
I've been a very busy boy - mostly focused on things that related to genre detection. So, we may as well dive straight into that 🏊♂️
What's My Genre
Late last week we switched to a new, improved model! Full write-up here. I recommend a read through if this is something that's interesting to you!
I know some of you are struggling to adjust to the new results, but it's 1.6x more accurate than the previous model. And it's still a work in progress - I'm constantly looking at broken results and tweaking the training data. Dylan's been helping out a bunch there.
A few other cool things rode on this update:
- Each detected genre now comes with a little explanation
- The "similar curators" section got a revamp, and it's now based on the fingerprints of each song in their playlists (using MAEST's model to fingerprint the audio). I'm ~70% through scanning every curator's songs, and the results are getting better every day
- Using that same fingerprinting technique, I'm building up a database of 1 million+ songs to show similar songs. It's often ridiculously accurate!
Feel free to give it a spin: What's my Genre?
SubmitHub Direct
I've been working on a way for curators to set up their own submission page, independent of the SubmitHub flow. It's called SubmitHub Direct. This has been a fun little project, and a few curators are already using it quite nicely!
- In a nutshell, curators set their price for certain things (eg, I'll listen 3 times and write 200 words of feedback), and they keep 80% of the payment
- It's easy to design the page with all sorts of bells and whistles. Some people have gotten really creative.
- You can set up multiple offer options per page instead of a single price, each with its own name
- There are also discount codes, detailed stats, embed codes, AI scans (of submissions), and more
- Right now beta is open to curators at 4 and 5 credit tiers - soon to expand
AI Song Checker
- Updated to v4.2, which includes Treblo coverage thanks to their open-source detector
- A bunch of tweaks to the overall design and the way meta data loads
- "View more" on your check history actually paginates now, and hides when there's nothing more
- Opus file uploads accepted, drag-and-drop auto-switches to upload, YouTube analysis prefills song title/artist
Links
- I revamped the "edit" design, most notably a button-style link editor, with per-link save/cancel
- Cleaned up the creation UI - you can now paste a Spotify URL straight into the create screen to build the page rather than first choosing the type
- Link artwork used as the page favicon instead of the SubmitHub logo
- Fixed Hypeddit import, tidied Linktree and Feature.fm imports
- Spotify URLs with an /intl-xx/ locale prefix now accepted, and open.spotify.com/s/ shortlinks resolve
- Meta CAPI test modal improved to make sure test events route to Meta's Test Events tab
Curators & submissions
- Compact curator table view shipped to everyone
- "Top rated" badge renamed "Highly rated"
- Approvals show the scheduled removal date on the results tab
- Spotify tools: unified artist views behind one header and tab strip, stats in the header, follower counts without a SubmitHub profile
Teams
This functionality often causes confusion, so I made it a lot cleaner.
- Symmetric visibility, separate view and manage roles, two-way credits
- Team access extended into Ads and Links, with a top-up payer
- Teammates can view a colleague's favorites and see their campaigns on the track page
- Individual top-navbar links can be hidden, toggled from the Teams tab
Miscellaneous
- Genre analytics: monthly history with per-metric charts
- Playlist rows in Spotify tools can hand a song straight to the genre analyzer
- Hot or Not: fixed the mobile credit counter showing a wrong balance and moved the counter out of the sidebar
- Sidebar keeps its scroll position when you archive a chat
- Sidebar and footer reorganised into labelled sections (Ads, For artists), collapsed sidebar icons centred, mobile menu updated
- Speed improvements 🏎️
- Homepage and sidebar are server-rendered in the visitor's language on locale paths, so pages have real content before JavaScript loads
- Translations and genre data served from the CDN, catalogues no longer refetched
- jQuery and Blaze fully removed from the front end, dead imports and server-only libs dropped from the client bundle
- Animated webp avatars no longer flattened on upload and load from CDN
- Marketplace newcomers land on browse instead of an empty dashboard
What's next
I've got some tweaks to the Ads Studio rolling out next week, and I'm going to keep optimizing the genre detector. I also want to start incorporating some of that "similar songs" data into the genre match formula. My goal is to continue to make sure that the right songs get to the right people!