Iflexion delivered an iOS app that allows the user to find potential friends and dates in the neighborhood. The recommendation system was written in Python and based on a hybrid content-collaborative model enhanced with gradient boosting.
The app’s functionality has the following key features:
- Recommendation system
- Intelligent matching algorithm
- Advanced location-based search
- Chat with rich communication features
- Highly intuitive UI
Recommendation system in Python
Iflexion’s AI developers delivered the recommendation system keeping in mind the peculiarities of online dating as compared to other domains employing recommender systems. These include:
- Availability of detailed information on each user
- Reciprocity (both parties should be satisfied with the result)
- Limited number of users, many of which have just registered
- Two possible roles a user can take (proactive and reactive)
The matchmaking algorithms were designed specifically to address the issues and leverage the advantages of online dating. They involved a combination of machine learning techniques commonly used for recommender engines, such as decision trees, collaborative filtering, and gradient boosting. The recommendation system was written in Python and used Spark for big data processing.
The recommendation system analyzes the profiles of people using the application nearby making it possible for the user to find the most suitable matches. The app calculates the matching probability, which shows how likely it is that a particular user would fancy another user. This probability is shown in the search results and recommendation panels. The system not only takes into consideration the preferences that the user has stated explicitly but also continuously extracts new implicit features from the user behavior. By comparing the predicted probability with the user's actual reaction, the algorithm constantly learns to "understand" the user better and thus starts giving more accurate predictions. The recommendation system also takes into account the preferences of similar users (i. e., those who have shown interest in the same 10 people).
The app also includes location-dependent search options that allow users to restrict the search to a certain area or distance. For this, Iflexion’s team integrated the app with the Google location services API. The location-based search and recommendations work dynamically, updating the results as the location changes.
UI and communication features
Iflexion’s professional GUI design team created an intuitive graphic user interface. They also customized some of the elements from the UIKit and Cocoa Touch frameworks to provide a really easy-to-understand and compelling UI Action-based search.
As the key functionality of the app is to allow users to chat with each other, our team implemented rich communication features. Iflexion’s UX/UI designers created a convenient and intuitive chat interface that makes the communication easy and pleasant.
The “wink” feature and a rich set of smileys and stickers add much fun to the user experience. To make sure the solution has a compelling and easy-to-understand UI, the team customized elements from the Cocoa Touch and UIKit frameworks.
Facebook and Twitter integration
Bearing in mind the popularity of such social media platforms as Facebook and Twitter, Iflexion team added the login API for them to make the solution easier to use. The users can sign in via their Facebook or Twitter account and post to these social networks via the application.