Discover how Lolly Co can help your business accelerate, reaching new technological heights. Book a free consultation with one of our technical experts.
1. Tell us about your company
2. What are you looking to work on?
3. What's your budget?
28th August 2020 · 23 min read
Looking to create the next big dating app? Wondering where to start?
Well, you’ve come to the right place.
But first, think about this…
Tinder has been hugely successful ever since its launch in 2014, achieving over 50 million users worldwide.
But when they were met with a massive surge of users due to the introduction of their special event ‘Swipe-Night’, they had to spend millions ensuring their dating app development technology could handle the pressure and load quickly without crashing.
That kind of money might not be a big deal for a company worth an estimated $1.6 billion…
...but for a small business it can be catastrophic.
And so I decided to write this blog and help you create a high-quality and reliable online dating app that will grow with your business.
I’ve compiled everything I’ve learned throughout my decade-long experience with app development in order to give you the most crucial insights.
So keep reading for all the steps you’ll need to take to create your perfect dating app...
You might know the tricks of the trade - but you need a technology team beside you every step of the way.
Many first time app developers are eager to create a complex and feature-heavy product right from the get-go.
But this is the wrong approach to take!
In my opinion, the key to developing a high-quality app is by creating a minimum viable product - an MVP.
An MVP contains all the essential elements that an app needs to serve its purpose.
Before we start talking about how to build an MVP, let’s take a look at what features are crucial when it comes to a dating app:
The main screen where customers can enter their desired destination, choose a cab type and pinpoint their location for pickup. Drivers can accept or reject incoming orders.
Users will need the ability to ‘reject’ or ‘like’ potential matches by swiping left or right respectively.
Once two users have ‘liked’ each other, they will be shown a screen that tells them they have matched with one another.
Real-time messaging is a crucial feature that allows matched user profiles to get to know each other.
Users are shown potential matches that are within a specified distance.
Users will input information about themselves as well as upload pictures.
When creating an MVP, it is essential that we think about how we can build the foundation of your app in a way that is cost-effective and can also ensure that it supports your first two years of growth.
Here’s an example of an ecosystem for an MVP:
This image shows how the structure of an MVP can be broken down into three parts:
This type of architecture is optimal for creating a dating app MVP as it incorporates two separate but complementary databases, alongside a load balancer.
This means that this ecosystem can handle constantly increasing data flow, preventing disastrous system failures.
Let’s take a more detailed look at how we can build each part of the ecosystem:
Successful dating apps have to process a lot of data non-stop.
Think about it...
Thousands of messages, multiple matches, constant new sign-ups from their target audience - that’s a lot of information to store and analyse.
That’s why building a strong server - or backend - is absolutely essential to the development of any MVP.
Creating a server begins with choosing the right database management system, which is where all your data will be stored. There are tonnes of options available to you, but here’s something to consider before making your decision…
A lot of new app developers forget to factor in the issue of scalability when choosing their database management system.
Your database needs to be able to grow alongside your business - the more users you have, the more data that will need to be stored. This means you’ll definitely need a database that can handle this task right from the start.
For optimal, cost-effective scalability, I recommend adding more than one server.
Look at Tinder - at first they used only one database (MongoDB) and found they were constantly running into issues. These issues meant they were forced to turn their focus away from optimising their product and spend their time and money on scaling their service.
And that’s something you definitely want to avoid.
So I would recommend that you use two database management systems, and in my opinion using a combination of MongoDB and MySQL is ideal. All the non-structured data of your app should go to MongoDB and the structured data will be stored on MySQL database.
Load Balancing Algorithms
You should then use a load balancing algorithm, such as Round Robin or IP Hash, to redirect excess traffic to the appropriate server.
This is amazingly beneficial as it helps to reduce downtime and ensures flexible scalability.
The ‘swipe’ feature is a popular choice for mobile dating apps as it allows an easy and interactive way for users to engage with content.
Did you know that just by analysing swipe gestures, it is possible to figure out someone’s height, gender and how they interact with their phone?
As swiping is how your users will ‘like’ and ‘reject’ potential matches, it is fundamental that your app is able to trace swipe gestures.
For iOS, you will need to implement the UISwipeGestureRecognizer in the UIKit framework. This will allow the app to recognise user swipe gestures in any direction, allowing your app to respond correctly to the ‘left’ or ‘right’ swipe.
For Android, a MotionEvent class will be required, which is used to report user movement events such as taps and swipes. This works by describing movements in terms of an action code (the state change that took place) and a set of axis values (descriptions of the position and other movement elements).
In order to optimize swipe gesture performance, I would recommend implementing a useGesture function, which allows you to manage multiple gestures at the same time. Storing this in the bind constant ensures it is readily available and constantly functioning.
The useGesture function comprises:
args: communication with bind constant
down: when a button or touch is down
delta: changes in movement
distance: offset distance
direction: direction per axis
velocity: the velocity of each gesture
So now that you know how swipe gestures are implemented, it’s important to consider what your swipe system on your dating app will look like.
In order to do this, you will need to work with UI (User Interface) and UX (User Experience) developers.
UI designers will work with you to create the layout of your swipe feature - where the pictures and text will be displayed, the colours, what the swiping transitions will look like, for example. This ultimately adds to how visually appealing your app is.
UX designers, on the other hand, will help you with functionality - essentially, how easy it is to use the swipe feature. Is it easy to understand which way to swipe? Can the user access all the information they need to make their decision?
Here are some things that can significantly affect how user-friendly your swipe features are:
How much the card shrinks or expands when swiped
How much distance from the centre point needs to be achieved for the swipe action to take place
Angle and strength of rotation
What’s the point of a dating app if you can’t message your potential perfect partner, right?
Dating apps like Tinder offer instant messaging services for their users among their basic features, which allows quick contact as soon as two people are matched and an easy conversation flow.
This is much preferred to a more traditional email-like inbox system as this tends to stall conversations and results in less satisfied users - which you definitely don’t want.
To implement a real-time messaging system, you will need to use a messaging software development kit (SDK). Some popular SDKs that work for both iOS and Android include Sendbird (which is used by successful dating app Hinge), CometChat and Intercom.
These SDKs all offer more advanced features such as voice and video calling, but when developing an MVP I recommend sticking with text chatting.
Geolocation services are really important when creating a dating app, as they ensure that users see potential matches near to their location.
Because what could be worse than finding your dream date only to discover they live thousands of miles away?
While it is possible to simply allow users to enter their city/town/country name and then show them people who have entered the same location, this can lead to false information being entered which can cause problems for you and your users.
Therefore, in my opinion it is much better to impose GPS location services.
There are a number of different ways to implement location services into your dating app, depending on your target operating system.
For Android, you can simply use Google Maps to obtain accurate user location data, as well as information on how close matches are to each other.
For iOS, Google Maps can also be used for map implementation, and CoreLocation Framework can be used to access precise location information.
Alternatively, if you are aiming to release on both platforms, you can save time by using OpenStreetMap API for both iOS and Android.
To sum it all up, here is the technical stack you could use to build a dating app MVP:
1. Choose your database management systems (MongoDB, MySQL)
2. Build your backend using your chosen programming language (e.g. Python)
3. Implement swipe gestures using specified iOS or Android framework
4. Integrate a messaging SDK (e.g. Sendbird)
5. Include geolocation services (e.g. Google Maps)
Now that we know exactly what goes into creating an MVP, we can have a look at some more advanced features that can be included in a mobile dating app…
Here are a few more features we can consider when building a dating app:
Almost all dating apps are free to use - that’s part of what makes them so appealing!
But almost all dating apps also offer extra paid features.
These paid features can include things like unlimited swipes, profile boosts and virtual ‘gifts’ to send to matches in-app, and are often accessed through tiered subscription options.
Tinder, for example, offers Tinder Plus at $9.99 a month, and Tinder Gold at $29.99 a month.
If you are considering offering paid subscriptions in your dating app, you will need to integrate a payment gateway.
And I know what you’re thinking…
‘Can’t I just create my own payment gateway?’
Although you technically can, you most definitely shouldn’t.
Developing a payment gateway takes a long time, and is often way too expensive for a business new to the market. Besides - there are so many pre-existing options, creating your own would be a waste of time!
A few of the most popular payment gateways are Stripe, PayPal and Braintree. Not only do these services allow users to make purchases easily, they also give you access to encrypted payment information all while being completely PCI-DSS (Payment Card Industry Data Security Standard) compliant.
While not absolutely fundamental to the development of a mobile dating app, push notifications can prove to be beneficial.
They can be used to alert users when they have matched with someone, remind them to check their messages, and let them know when special events are taking place.
All these things can dramatically increase how often users interact with your app - which is a huge bonus!
Implementing push notifications is really simple:
For iOS, you can use Apple Push.
For Android, use Google Firebase.
It really is that easy!
All CRM services have their benefits - what you choose is down to personal preference.
As dating apps include massive social elements, it is important to consider how to moderate all the content uploaded on them.
The very first step here is to create guidelines for the use of your app and what is not allowed. It is common (and wise) to include rules prohibiting things such as bullying and harassment, inappropriate images, and hate speech.
Content moderation can be tricky, so I would recommend using two moderation systems: user reporting and content filtering and moderation tools.
Allowing users to report or ‘flag’ things that are perceived to break your app’s guidelines is the easiest way to moderate content. It gives you quick access to any harmful content, which can then be reviewed and removed if deemed necessary.
Content filtering and moderation tools are used to regularly monitor all content, and can pick up on anything that is against the rules. This creates a safer environment for your users, as these tools are often able to remove content before most app users are even able to see it. Some of the most common content moderation tools are Two Hat and Community Sift.
In a similar vein, it is also important to include a way for users to contact developers should they have any issues.
For this, all you need to do is implement a customer relationship management service (CRM).
CRMs give you the ability to provide practical in-app customer service while collecting useful user data - resulting in meaningful communication between you and your users.
Again, you are spoilt for choice here - Salesforce and ZenDesk are just two great options for CRM.
You might know the tricks of the trade - but you need a technology team beside you every step of the way.
Problems usually occur in a few main areas:
There is nothing more frustrating than a tediously slow mobile app.
In fact - 49% of mobile app users expect their apps to respond in only 2 seconds or less.
So a slow app can seriously damage your relationship with your users - leading to bad reviews and a bad reputation.
And you wouldn’t want that, would you?
One of the most common reasons for a slow app is there is too much data for it to process.
The easiest and fastest fix I always recommend is compressing this data, which is made up of mostly images, text and graphics.
There are two options available when compressing data:
Developers can restore files to their original size perfectly from the compressed data, therefore there is no need for any data loss.
Here, file size reconstruction is only available through inexact approximations of the original data. However, any data loss is not usually noticeable.
Lossless compression is most commonly used for text and image compression, whereas Lossy compression is usually used for video and graphics.
Either way, you can expect to see huge improvements to app speed after compression due to the overall reduction in bytes.
A slow server can cause serious problems for your app.
Think of everything your server needs to be doing at all times: processing data, running application code, accessing multiple files…
That’s a heavy load!
As I mentioned before, redirecting traffic by implementing two servers and utilising a load balancer can dramatically improve server speed.
But another thing you can do is add a reverse proxy server.
Essentially, a reverse proxy server takes on some of the tasks a server usually completes alone. As reverse proxy servers are connected directly to the internet, they sit at the front of an app’s ecosystem and are able to quickly communicate with both the frontend and the backend.
This frees up a bunch of space in the server, allowing for much faster server speeds overall.
Network lag is a common issue when it comes to mobile apps.
Don’t you just hate seeing that ‘Network Error’ message pop up when you are trying to use an app?
One easy way of fixing this issue is to make your app less ‘chatty’ - i.e. reduce the amount of back and forth between the backend and frontend.
In order to do this, I recommend creating caches.
A cache is a temporary storage location, where multiple copies of files can be stored. This allows quicker access to these files, and so reduces any unnecessary back and forth.
However, I cannot stress enough how important regular network testing is when trying to reduce issues related to network lag.
Regular testing of an app on different network speeds allows developers to be well-prepared for any unexpected issues that may occur.
You should now have a complete understanding of exactly how dating apps are made, as well as the best features to include.
Still looking to create your perfect dating app?
We can help!
At Lolly, we pride ourselves on our first-class technical abilities. Our app development team can work alongside you to create an Tinder-like app tailored to your specific business needs.
Contact us today and get started with creating your perfect mobile app for your dating business.
Join global leaders who depend on Lolly Co to transform their businesses with advanced technology & automation.