Exploring Tinder's Secrets

Vinter, programming
Back

The following article is structured in two parts:

Exploiting the Vulnerable

I'll be honest. I don't like Tinder, yet I keep coming back to it. I'm not a social media user but Tinder has that short dopamine boost that's very satisfying for a short period of time. It sets a lot of fake standards, makes me feel bad about myself after some weeks of usage but for some reason I keep the app installed on my phone even when I'm not using it.

And Tinder knows well that his main target are lonely people. The ones that are willing to pay for the illusion of popularity, for some chances at getting to know someone. And Tinder rides the wave.

Variable prices

Tinder is a free app, but it has some monthly subscriptions that allow users to have certain benefits (infinite likes, the ability to see who liked you (doesn't this defeat the purpose of Tinder?), boosts etc). One thing I noticed is that the prices for the subscriptions aren't fixed. Different profiles might have different offers and price points. This might be justified by rotating discounts but I'm pretty sure that's not the reality of the things.

Tinder costs more for people that are willing to pay more.

Infinite Likes

This is a short one, but I noticed that girls on Tinder have unlimited likes. I assume this helps with balancing the m/f ratio on the app, but it might also be seen as a way of making males pay for the subscription that allows unlimited usage.

Hidden Admirer

I'm not sure if this is a European thing but sometimes the app will show a pop-up with 4 hidden profiles, allowing you to choose one and reveal it. Nothing bad in this, but I noticed that the choice is predetermined and the choice is just an illusion. Closing the app after revealing someone will make the pop-up go away for a brief period of time. If you choose another card when it reappears you will get the same result over and over (it might be that the choice is registered the first time you make it, but I wouldn't bet on it)

ELO, Boosts and New Accounts

This is a broad section but all three things are relevant to each other. Whenever you make a new profile Tinder boosts it for free for the first few days. This is consistent and probably common knowledge. At the beginning of any account I get many more matches than in the following weeks. But there's a hidden pattern I've noticed over the years: if you buy a Boost or make a new account all the profiles shown to you will be of good-looking people. This has been very consistent, so I'm inclined to believe that Tinder keeps track of people's ELO (more on this in the next section) and whenever you Boost shows you people with a high score, thus making you think that the app is effective.

ELO cont

This is just an assumption but I noticed that whenever I match a lot and don't write to anyone I tend to get less matches over the long run. This makes me think that the ELO isn't just calculated based on looks but also on the interactions you have with the people.

Dopamine Burst

Tinder wants to make you addicted and feel like the app is working and uses a trick to do this. If you don't use the app for a few days then the algorithm will put a person that liked you on the second (roughly) spot of your profile list. This way as soon as you start swiping you'll be rewarded with a match and will feel satisfied. This also usually coincides with push notifications on your phone ("HEY HEY USE ME LOOK I WORK")

Shadow Bans

This is probably the worst of them all, and it's pretty well documented online. If Tinder doesn't like you for some reason then the app will shadow-ban you. This means that you will be able to use the app normally but your profile won't be shown to anyone. The details are murky and not well-known, but the worst part is that you will still be able to buy premium subscriptions that will not work at all... I'm surprised this is not regulated in any way.

Part Two - The APIs

By looking at the request made by the browser we can notice some interesting thins in the Network tab. Let's examine some of them:

The first one is the https://api.gotinder.com/v2/profile?locale=en&include=likes%2Cofferings%2Cplus_control%2Cpurchase%2Cuser endpoint

Inside we can find many things related to dynamic offers, prices and benefits but the first thing that you can see is the number of likes remaining:

"data":{"likes":{"likes_remaining":100}}

Then there's an array containing the photos on your profile, each one with a weird field:

faces_count :   3

Why would Tinder want to know how many people are there in each photo? (This info doesn't appear if there are no faces in the picture)

Up next we have https://api.gotinder.com/v2/matches?locale=en&count=60&message=0&is_tinder_u=false which has arguably the most interesting info

It has data for all the matches you currently have, and there's some stuff that's invisible on the app:

"seen": {
    "match_seen": true
},
"_id": "xxx",
"id": "xxx",
"closed": false,
"common_friend_count": 0,
"common_like_count": 0,
"created_date": "2022-01-28T12:30:48.127Z",
"dead": false,
"last_activity_date": "2022-01-28T12:30:48.127Z",
"message_count": 0,
"messages": [],

By looking at the response we can check if the other person actually saw the match and decided not to bother or if (s)he just didn't open Tinder yet. I'm not sure what "closed" means and I'm also not sure what are the common friends and likes.

"dead" probably refers to the profile being inactive, and the last activity date is something that should probably be hidden.

Then we have more data on the person and on the match.

"pending": false,
"is_super_like": false,
"is_boost_match": false,
"is_super_boost_match": false,
"is_experiences_match": false,
"is_fast_match": false,
"is_opener": true,

Most of them are self-explanatory, but I'm curious as to what "pending", "experiences", "fast" and "opener" mean

Next, some evidence for the ELO theory. Each photo of the match has a rating:

"score": 0.4681258,
"win_count": 3,

Not sure what the score is, but I assume that win_count is somehow tied to how many people swiped right on that particular picture or something similar.

And finally you can see if the other person has read receipts enabled:

"readreceipt": {
  "enabled": false
},

[P.S. I was in the middle of writing the following section when I found a vulnerability that allows you to emulate the Gold subscription without having one. This warrants an article on its own but I'll wait to report it first. Thanks for reading!]

© thevinter.RSS