Dating
America, USA
Our client runs a dating platform for working professionals between the ages of 28 and 42 who are looking for serious relationships. The platform is not built for casual, high-volume swiping. Its promise to users is the opposite: fewer introductions, but better ones.
When the project began, the platform had around 1.2 million registered users and 180,000 monthly active users across iOS, Android, and web, with four years of operating history in North America and the UK, where users can join for free with a daily limit on likes, upgrade to one of two paid plans, or buy individual boosts.
This was not a company searching for its market. It had proven demand, a working marketing engine, and paying subscribers. What it had was a growth problem, and that problem lay in the way the app decided whom to show.
The leadership team came to us with a business problem, not a technology request. The cost of acquiring a new user had gone up for six quarters in a row, while the value of each user had stayed flat. Growth was being bought rather than earned, and the numbers were catching up with them.
When they looked into why users were leaving, the answer was always the same. People were not finding anyone they actually wanted to talk to.
The goals we agreed on at the start were straightforward:
The objective was never "add AI to the app." The objective was to fix the business's economics, and better recommendations were the most direct way to do so.
Every problem on this list traces back to one root cause: low match relevance. The app was showing people to each other who had no real reason to connect. Two numbers made the scale of it clear. Only 8% of the profiles a user was shown received a like, and 71% of the matches that did form never exchanged a single message.
In other words, the app was working hard to create introductions that went nowhere. Here is why that was happening.
The app picked people using basic filters: age range, distance, what the user said they were looking for, and a few profile details. That produced people who met the requirements, not people who would get along. Two users could tick every box and still have nothing to talk about. Filters can tell you who is eligible. They cannot tell you who is relevant.
The matching logic had been adjusted by hand over several years by different product owners. Every fix solved one complaint and quietly created another. Worse, the system had no memory. Someone who had used the app for two years was treated exactly like someone who signed up that morning. Any change needed a developer, and every change risked breaking something else. Relevance could only ever be as good as the last guess someone made about it.
Users were swiping right plenty. Mutual matches were not keeping up. That is the most discouraging experience a dating app can create, and it was the clearest sign that the recommendations were wrong.
Because the ranking had no sense of relevance, it fell back on general popularity. The top 10% of profiles were receiving 62% of all profile views. Most users, including most paying subscribers, were rarely shown to anyone, so the people they might have matched with never saw them, and the app felt empty from both sides.
The platform was already recording how long people looked at profiles, which profiles they opened, how quickly they replied to messages, and how long conversations lasted. None of it affected what users were shown. It sat in reports instead of improving the product.
New users received the least relevant recommendations at exactly the moment they were deciding whether to stay. Most first-week drop-off happened within the first three days.
The most expensive problem showed up in the subscription numbers. People upgraded for one reason: they expected more relevant matches. Paying did not change the relevance of what they were shown, so they cancelled within the first billing cycle. Refund requests were climbing, and renewals were well below where they should have been. The platform was charging for a promise it could not keep.
We designed and built an AI-powered match recommendation system to replace the old fixed rules. The work was split into stages so the client could see results before committing more budget.
Before describing the stages, it is worth being clear about what changed, because "AI" is used loosely in this market.
The old system applied rules. A person decided that distance should matter more than shared interests, wrote that into the code, and the app did exactly that for every user until someone changed it. The rules could not tell whether they were working.
The new system learns patterns. It looks at millions of past interactions on the platform—who liked whom, who replied, who kept talking, who went quiet—and works out for itself which combinations of signals tend to produce a real conversation. Nobody tells it that a particular signal matters. It finds that out from the outcomes, and it keeps checking whether it is still true.
Three practical differences came out of that:
That last point is the heart of it. Low match relevance was never going to be fixed by writing better rules, because the right rule is different for every user on the platform.
Before building anything, we questioned the number the product team was chasing. The app was measured on how many matches it created. But relevance cannot be proven by a match—a match that never turns into a conversation is not a win. It wastes the user's time and makes them trust the app less.
So we changed the target. Instead of counting matches, the system was built to predict which introductions would turn into a real conversation—one that goes past a certain number of messages and is still going two days later.
That gave us a way to measure relevance honestly. A recommendation is relevant if it leads somewhere, and now we could tell the difference. It changed what the system learned to look for, and it changed what the business was pushing toward.
We also rebuilt how user actions were recorded, so the information was consistent enough for the new system to learn from.
There is usually a gap between what people say they want and who they actually engage with. The app was only listening to the first one.
The new system builds a picture of each user's real preferences from their behaviour—who they open, who they skip, who they reply to quickly, and who they keep talking to. Anything a user has explicitly set stays in place as a firm rule. Their behaviour then shapes the order of what they see inside those rules. Users keep full control, and the app stops depending on them to describe attraction through dropdown menus.
This is where most dating apps go wrong. Showing someone a profile they will like is only half the job. If that person will not like them back, the recommendation is worse than useless.
Our system scores how likely two people are to end up in a real conversation, based on:
That last point is a relevance factor, not a fairness one. Someone who has just been shown to three hundred people is unlikely to reply to the next as they receive, which makes them a poor recommendation regardless of how well they match on paper.
Every time a user opens the app, the system works through three steps in a fraction of a second:
Activity feeds into the system as it happens. What someone does in the afternoon affects what they see that evening, instead of waiting for an overnight update.
For people who have just joined, we combined better onboarding questions, an initial read on their interests from what they write on their profile, and a guaranteed amount of visibility during their first few days. That gave new users a credible experience before the system knew anything about their behaviour.
We released the new system gradually and kept a portion of users on the old one, so every result could be compared against a real baseline rather than guessed at. We also tracked safety reports, block rates, and how evenly profile views were spread, so improvements in one area could not quietly damage another.
The system retrains on a schedule and is tested against past results before any update goes live to users.
We deliberately chose technologies the client's own engineers could work with. They had to run and improve this system after handover, so it was built to be maintained, not to look impressive.
Measured over 90 days after launch, compared against the group of users kept on the old system:
| Result | Change |
|---|---|
| Recommended profiles that received a like | 8% → 12.4% |
| Matches that never exchanged a message | 71% → 52% |
| Swipe-to-match conversion | +31% |
| Matches per active user | +38% |
| Matches that turned into conversations | +26% |
| Conversations that kept going | +34% |
| Result | Change |
|---|---|
| 30-day retention | 21.4% → 28.9% |
| Churn over 90 days | −22% |
| Daily active users | +19% |
| Premium subscription conversions | 3.4% → 4.6% |
| Average session length | +16% |
| Share of profile views going to the top 10% of profiles | 62% → 41% |
The first table is the one that explains the second. Once users started seeing people worth talking to, everything downstream moved with it. The retention improvement in particular meant the client could keep growing without increasing ad spend, which was the problem they originally came to us with.
These numbers reflect one platform, one user base, and one market. They show the kind of impact the approach can have, not a guaranteed outcome.
“We had spent years refining features to improve match quality, but the real issue wasn't the user experience; it was the recommendation logic behind it. The team helped us shift our focus from simply creating more matches to creating better ones. The AI-powered recommendation engine delivered measurable improvements in match relevance, and because it was built transparently, our engineering team can continue to refine and optimize it as the platform evolves. The improvement in user retention alone has had a lasting impact on our growth strategy."
- Owner of PlatformWhat you measure decides what you build. Counting matches produced matches that went nowhere. Relevance is only proven when a recommendation leads to a real conversation. Counting real conversations changed both the user experience and the business numbers.
Matching has two sides. Any system that only asks "will this user like that profile" will keep creating disappointment. Whether the interest is returned has to be part of the decision.
Fixed rules stop working as you grow. Hand-tuned matching is manageable with 50,000 users and unmanageable with a million. The cost shows up as slower development and falling match quality long before anyone names the cause.
Who gets seen is a revenue issue. When a few profiles absorb most of the attention, everyone else experiences an empty app and cancels.
New users need their own plan. The users you know the least about are the ones most likely to leave. Treating them as an edge case guarantees avoidable churn.
Collected data is worth nothing until it changes the product. Most platforms already have the information they need. The gap is in how the system is built, not in what is being recorded.
Whether you're launching a new dating platform or optimizing an existing one, we help businesses build AI-powered matchmaking experiences that improve match relevance, increase engagement, and support long-term growth.
Why Partner With Us?
Cutting-edge technology for modern businesses.
Transparent communication and on-time delivery.
Skilled professionals dedicated to your success.
Solutions that drive growth and measurable results.