Debugging My Love Life

Written by ajar | Published 2022/01/24
Tech Story Tags: debugging | troubleshooting | codepen | programming | data | software-testing | software-development | debug

TLDROpinion: Tinder does a bad job of presenting Spotify's data on top artists and may very well have cost me a marriage. I bet it did.via the TL;DR App

Listen in the Author’s Voice Below

https://www.youtube.com/watch?v=dIQUb3aTN4A


Some years back, I got real lonely and paid for Tinder.

Yeah, you read it right. But even after transitioning myself to a paid ad on a sex app, I still was getting none. I eventually started to wonder: "Am I doing something wrong?" I asked myself if 5'11" was too bold a lie for the audience.

I did have one girl get me with a measuring tape. Not even joking, and it was actually kind of cute until I realized that she wasn’t either.

I spent a day and a half straight trying to look casual in a photo. What was I missing? My self-worth was suffering. Was it just me all along?

Certainly not. After several minutes of soul-searching, I determined that there was nothing wrong with me, my pics, my bio, nor my strategy. Knowing a bug when I see one, I set off to troubleshoot the app and finally present myself as a romantic prospect of interest to users who were neither NPCs nor e-girls. Was ready for all the hot singles in my area dying to meet me.


Identifying the Bug

It didn't take long to ascertain that my Top Spotify Artists section was terribly misaligned with my real music taste: Marginally better at best, or at worst more reflective of who I am as a hyper-eligible bachelor. And there we had it. Just like that, everything about my dry spell made sense.

In what can only be described as a 21st-century mating call, I did some research to figure it out and posted the results on r/Tinder (removed by mods over three years later, y).

Who the heck is BROCKHAMPTON? Literally never heard of Shakey Graves in my life. Miguel? Maybe I skipped one of his songs in my Discover Weekly.


Issue Description

It looks like Tinder uses Spotify’s API to grab your personal top 50 artists based on “calculated affinity,” a fancy Spotify term that presumably translates to “how much you like this music in comparison to other stuff you’ve heard on Spotify.” Sounds about right, right?

Right. It would be reasonable if Tinder stopped right there… But they didn’t. In fairness, though, how could they? I think it’s safe to say that we’ve all gotten carried away and over-engineered hookup culture at one point or another (wHoOpSie-dAiSy!), but get this: The list that Tinder presents is only 20 songs in length, so they have to truncate the list and omit most of your favorite artists.

At this juncture, you might be asking: “Hey Aaron, BIG FAN. Why don’t they just ask Spotify for the top 20 to start with?” I asked myself the same thing. Something must have been up…

Rather than taking Spotify’s original sort order as returned from the API, apparently sorted by your own affinity, they sort in descending order of popularity—a global measure of popularity amongst all listeners—and then take the top 20 from that list. This omits 30 artists—the bulk of what’s obtained from Spotify—who may well be your true favorites, but are perhaps less popular than some other 20 artists that you’d only ever play when handed the proverbial aux.

The effect of that, in my view, is counterproductive toward what I’d think is the goal of the feature: To find what you and a match have in common, distinct from how you relate to half of their whole user base. Hearing that someone sometimes has Kanye West or Ed Sheeran playing on their phone tells me almost precisely nothing.

Daaaamn, that’s crazy. We’ve both heard The Beatles?

In my book, this shallow intel makes for horrible conversation—can’t very well connect on the topic of liking what most everyone likes—and this ultimately seems to remove any “foot in the door” that may have been enjoyed from mutual interest in lesser known, more obscure music. For example, my all-time favorite artist is the IBM 7094, best known for the hit single Daisy Bell. How am I to find the love of my life if my favorite artist doesn’t make the chart?


https://www.youtube.com/watch?v=41U78QP8nBk


Steps to Reproduce

Alright, so we know what the issue is. In order to fix it, we need to observe the current state as it applies to your own profile. Follow these steps to generate the list of artists that Tinder will offer up as your favorites as of this writing.

  1. Navigate to the Spotify developer console here. Use the following params:

Parameter

Value

type

artists

time_range

short_term

limit

50

offset

0

These params were figured out through trial and error over several days and tests. Fairly confident these are correct, but not 110%.

  1. Get an OAuth access token by clicking GET TOKEN.

  1. Take the massive payload returned and paste it in this CodePen.


Scope of Impact

I don’t even know the scope of impact here. You might be wondering “who cares,” but that’s kind of the point: I have no idea who might have cared. If I had to guess, we’d be married by now. Music is an ice-breaker, and I need those!

From the sum total of luck I have enjoyed on Tinder, one lucky shot leading to a relationship of over five years, I can count on zero hands the number of times those engagements stemmed from my bio or employment rather than mutual friends (from Facebook), interests (also Facebook), or rounded-up height.

I bet music would also be a great feature if it showed what we had in common for real. With common interests, you’re given a selection of everything you’ve liked on Facebook and just select what you think is important to show. Mutual Friends is pretty straightforward and works wonders. But the music feature works differently and I wish it were more thoughtful.


Suggested Changes

There are a number of things that Tinder could do to improve these results. In order of how I would estimate the complexity of each to implement, here are some options for their team.

1. Ask Spotify for the top 20 artists.

You can limit the list to 20 using the limit parameter—or not using it at all since 20 is the default value—and see what it yields in terms of user experience. Probably about right.

2. Truncate to 20, persist original order.

You could probably just keep the original call to their API (grabbing the top 50), changing none of the parameters at all, and truncate the list as it’s provided (i.e. with original sorting).

Even if the sorting is completely random on Spotify’s end, and/or only happens once per refresh, it at least ups the chances of displaying a user’s favorites who just can’t match the global demand of Taylor Swift, or literally any artist with more Spotify success than those favorite artists. Since results from this endpoint on Spotify’s API are consistent in terms of sorting, I am led to believe that the results that Tinder has to work with here are either:

  • Cached upon initial connection from Tinder to Spotify, or
  • Pre-sorted based on Spotify’s “calculated affinity” measure.

Have a hunch that it’s the latter, but I’m sure it’s documented somewhere.

3. Sort it in ascending order? Experimental…

Maybe it would be better to actually show mutual matches that are lesser known as a design choice. This would be experimental, and for sure you would want to keep the full list private and show only the mutual favorites, but I wonder what the effect on outcome would be there.

4. Let users choose their own favorites.

Even if I haven’t listened to an artist in a while, they might still be a fixture of some subculture. If a girl has Tipper as a top artist, for example, then she is absolutely a wook and probably enjoys her festivals. So, if you’re looking for a date to Tipper & Friends, you can sort of work the system that way to find people who are likely to be there anyway. Just an example.


Conclusion

I wasted a lot of time on this article. Way too much… The bottom line is this: Tinder could make very small changes to help its users connect over less mainstream genres and artists, but they opt instead to present you as a more attractive prospect to those who have listened to even one song from a mainstream artist: WACK. Should Tinder implement any change to this system in response to this article, I shall not have lived in vain… So far, it appears that I have.

I’d love to hear from someone on Tinder’s development team regarding this feature and the design choices surrounding it. I’ll update this article if I learn anything new. This is just an opinion piece / poor attempt at humor, and the rationale for the parameters chosen could very well make sense.


Written by ajar | Solutions architect, software developer, and data engineer. Founder @ AJAr Foundation.
Published by HackerNoon on 2022/01/24