Tinder is the world’s largest, most popular dating app with a staggering 75 million active monthly users and 100 million+ overall app downloads.
Launched in 2012 as part of a hackathon in West Hollywood, California, Tinder quickly rose to fame and overtook every competitor in a short span.
Within 2 years, Tinder was registering 1 billion daily ‘swipes’, which has now swelled to almost 2 billion, and to date, Tinder has ‘matched’ 65 billion times!
If we say that Tinder has single-handedly revolutionized the concept of love and match-making, then it won’t be hyperbole. Millions of people are discovering their dates on Tinder every day and finding love. Such is the popularity of Tinder that 6.4 million paid subscribers on this app now spend more money than Netflix, and in 2015, it had become the fifth highest-grossing mobile app globally.
The popularity and usage of Tinder are unstoppable, and one of the primary reasons why this happened is, the robust backend and easy-to-use interface, that pulls in the user and forms a habit for them.
In this blog, we will understand the system design architecture of Tinder, and find out what makes it special: How can one single mobile app support 75 million active monthly users, who are logging in to the app 11 times a day? How can a system be so robust and scalable that it has successfully matched 65 billion profiles in a flawless, seamless way?
Before we describe the unique system architecture of Tinder, let’s first understand the jargon and terms used within the Tinder ecosystem, for more clarity.
Critical Tinder Functionalities
The functioning of Tinder is super easy and super fast. Once you create an account, you will start seeing profiles of different users, based on your preferences. And the process of matching starts.
Swipe-Right: If you like a profile, you will swipe right.
Swipe-Left: If you don’t like a profile, you will swipe left.
Match: If both the profiles swipes-right, then it’s a match.
Double Opt-in Communication System: Communication between two users can only start once both have swiped right one another. Hence, a double opt-in system for communication ensures more safety and more transparency.
Besides these user-centric actions, the mobile app provides the feature to view content shared by other users such as images, likes/dislikes, questions, and more.
For every user, Tinder shows these information details: current age, distance from your location, mutual friends (via Facebook/Instagram), mutual interests between the users, and target description.
Lately, Tinder has introduced a few more features like Super Like & Boost, which are very interesting monetization programs to generate more revenues.
System Design Architecture Of Tinder
Now, let’s dive straight into the system design architecture of Tinder, and find out how it actually works. We will divide the entire understanding of system design into two parts: Recommendation Engine and Matchmaking Process.
In this blog, we will share how Tinder’s Recommendation Engine works, and in the 2nd part of the blog, we will understand the matchmaking process.
But first, some information about hosting data.
Tinder’s Database Hosting
Tinder is entirely hosted on Amazon Web Services or AWS Cloud and doesn’t have any web application or portal as of now. Tinder is only available on Android (Google Play Store) and iOS (Apple App Store), hence, only accessible via mobile phones.
Tinder is using AWS amplify to build, scale and test its mobile applications and MongoDB for the database. Meanwhile, they use Redis for caching and in-memory databases.
Understanding Tinder’s Recommendation Engine
The recommendation process is one of the most crucial functionalities of Tinder, and the entire user experience is based on this engine.
The profiles that a user sees on Tinder for potential matchmaking, are based on the function of this recommendation engine, and this forms the entire foundation of using this app.
The recommendations from Tinder’s algorithm should be personalized, and very targeted for specific users, and this is how dating actually works in the physical world as well. If a video game enthusiast is looking for a date, then it’s a very high chance that he/she will look for a fellow video game lover.
Here are the top features of Tinder’s Recommendation Engine:
User’s Activity: Dating is all about being ‘active’ on the scene, and letting your presence feel. This is why Tinder’s recommendation engine focuses extensively on the users’ active status, and finds out how actively that person is using the application. The more active a user is, the better will be his/her positioning as per the recommendation engine.
Collect Tags: Although Tinder offers three options to login: Google, Facebook, and Phone Number, it’s Facebook that’s the most beneficial option for the user, because of data collection. Tinder’s recommendation engine will recommend a person’s profile based on the data collected about him/her, and once logged in via Facebook, this becomes seamless. Tinder’s recommendation engine will automatically collect information such as age, location, distance, gender preference, visited places, likes, dislikes, friend’s circle, and more via Collect Tags and uses this information to recommend other profiles for the user.
Rating Of Users: Once the information is collected, and the users’ activity status is monitored, Tinder allocates a rating for every profile, say between 1 to 10. And then groups the users, under these ratings. In case a profile has been rated 3, then the recommendation engine will suggest other profiles that are also rated 3, and ensure meaningful matches.
User Actions: Tinder’s recommendation engine will find out about the users’ actions related to swipes: If the user is extensively swiping right, then it means that that user is not contributing to the purpose of the dating app, that is to rate and filter. At the same time, if the user is only swiping left, then that too is bad. Hence, the recommendation engine will rate those profiles high, who have the perfect balance between right and left swipes.
Maintaining the Balance: In case a particular profile is getting too many right swipes, then that profile is hidden for some time so that the balance is maintained. Some term this as progressive taxation, for making it fair to all. At the same time, if a profile is getting fewer right swipes, then that profile is automatically boosted for some time, to induce fairness and balance.
Reply TAT: Tinder’s recommendation engine also finds out how soon a person is replying to a matched user, via Reply TAT or Turn Around Time. The sooner is the person is replying, it’s better because that will denote the activeness of the user (Read #1 pointer)
Technical Properties Of Tinder Recommendation Engine
Now, let’s find out the technical properties of the Tinder recommendation engine, that powers the Tinder app:
Fast Loading Via Low Latency: Time is crucial here. As soon as the user logs into the application, he/she is shown profiles of other users based on the recommendation engine’s data, and this needs to happen real quick and fast. For fast loading of the profiles, the recommendation engine has low latency.
Shard Database: The database of the Tinder recommendation engine is not centrally stored, but shared globally, across different AWS servers for ensuring faster responses, and seamless storing.
Powerful Search Features: Tinder recommendation engine supports a full-text search of the person’s profile, for collecting as much data as possible, and making it easier for the users to locate the profiles they can match.
Data Transferring: For transferring data to the application, an HTTP interface or web socket is used.
XML/JSON for creating a structured data format.
In the next part of this series, we will understand the ElasticSearch mechanism of Tinder, that enables them to match the profiles based on the recommendation engine algorithm.
If you wish to create a dating app similar to Tinder, then our dating app development company can help you. We have some of the most talented and experienced dating app engineers, who will understand your requirements, and accordingly design and develop a Tinder-themed dating app with robust functionalities and features.