Recent updates

[Changelog] Feb 19th, 2021

For a few years now folks have been asking me to publish a list of recent changes to the website so that they can keep up. So in that spirit, here's the first ever story to that effect :)

SubmitHub stories

This week's first major upgrade was a "blog" - called Stories. You're looking at one right now!

Historically we've used Medium to share our thoughts, but going forward I've decided it'll be better to give that content a home on SubmitHub itself. It also means that I can share these regular updates with you.

The actual functionality isn't too crazy: there's an HTML editor, a few fields to tweak, and boom - blog post. Took me about 2 hours to code. I'm hoping to add comments soon (maybe this afternoon?). Should be pretty easy given the whole logic of creating accounts is already hooked up to SubmitHub (usually the hardest part of a commenting system). Done!

Deleted Videos

TikTok and Instagram occasionally remove videos that are shared by our influencers. Obviously this isn't ideal for anyone involved, but we feel that the best solution is either for the influencer to re-share that content or refund the user.

For the past few weeks we've been dealing with this on a case-by-case basis, but going forward I've managed to whip up system that can consistently spot the removed videos and then prompt the influencer to choose one of the two solutions mentioned above. With the exception of the deletion-detection (which was actually quite tough to code), this setup re-uses a lot of already existing infrastructure (editing share URLs, refunding).

Hot Or Not Overhaul

Okay this was a pretty big one! I've "upgraded" a few things:

  • There's a fancy new line chart and doughnut graph on the song detail page (see screenshot below). What's nice about this is that you can see where you fall relative to the site-wide average (which is about 68/100)
  • The navigation has been improved (previously it was using a lot of above-the-fold real estate)
  • I've started to move away from the binary "upvote" and "downvote" metric toward a "bad" / "average" / "good" / "amazing" scale, which is how folks have been rating songs for a while now.

Looking for inefficient database queries

Database stuff. Boring. In short, I spent a day looking through queries that had a bad scanned/returned ratio in mongodb. That's usually a sign of an inefficient query, and squashing those bottlenecks means a smoother and faster experience for the average user.

Recommended picks

Okay this was a fun one! Someone in the #artists chatroom basically said something to the effect of: "It's not in SubmitHub's interest for there to be more approvals. Otherwise people wouldn't spend as many credits." And I thought well... that's sort of the exact opposite of what we want! If SubmitHub *does* get artists more approvals that means we're doing a better job at matchmaking, and folks will be more-likely to come back again for their future singles.

And thus was born a new checkbox under the "Additional filters" section called "Recommended picks." It's default-on the very first time someone submits a song (subsequent submissions for the same song have it default-off). The basic logic behind it is as follows:

  • Hides curators with a low genre match
  • Hides curators with a very low approval rate
  • Hides curators with a low quality score
  • Keeps anyone who has approved previous songs of yours in the past

From what I've seen, this results in roughly 50% of eligible curators being hidden. For example, if you choose a genre like Indie Rock you'll see 400+ curators show up. With the "Recommended picks" option enabled, that list will drop to ~150.

Most-importantly, what are the results? Well, it's only been a few days, but here's what I've seen (based on a pretty big sample size):

  • Submissions with "Recommended picks" enabled: 22% approval rate
  • Submissions without it enabled: 19% approval rate

So that's a 15% improvement in approval rates so far. Could just be coincidence of course. I'll have to revisit the numbers in a week or two.

Until next week!