Genie Connections App
Genie Connections is a sophisticated dating app that enables users to connect with new people in their local area. The app employs advanced algorithms to suggest profiles that align with each user's specific criteria and preferences. By leveraging cutting-edge technology, Genie Connections ensures that users are presented with profiles that have the highest potential for compatibility and meaningful connections.Technology Stack
Node JS
Express JS
Socket IO
AWS SQS
AWS Lambda
Redis
AWS ECS
Serverless
Mongo DB
The Client
Genie Connections is a dating app company that operates an Android and iOS dating app. It was founded in London, England and primarily caters to users from European nations. One of Genie Connections' flagship products is its unified communications platform, which combines voice, video, messaging, and collaboration features into a single, integrated solution. This platform enables organizations to
communicate and collaborate effectively across various channels, facilitating seamless information exchange and decision-making.Moreover, Genie Connections recognizes the importance of secure and reliable communication in today's digital landscape. The company prioritizes data privacy and cybersecurity, implementing robust security measures to protect sensitive information and ensure compliance with industry regulations.
The Problem
The company encountered several issues with crucial APIs. The profile suggestions API was not delivering profiles within the desired timeframe and sometimes experienced timeouts. This was due to the API needing to process a large amount of data in the database to suggest suitable profiles to users, resulting in slower performance as the data size increased. Additionally, the chat service was not functioning properly, with messages taking a significant amount of time to be delivered as the number of users on the platform grew.
The Solution
To address the slow response time of the APIs, we undertook optimizations in the database collections, schemas, and queries used for fetching data. We also implemented auto-scalable containers for deploying APIs and socket services, leveraging technologies such as Lambda and SQS to run background processes. Furthermore, Redis was utilised to facilitate communication between multiple socket and API containers. These measures significantly improved the efficiency and performance of the services.