Table of Contents
Have you ever had this awesome idea on how to have a great time but you didn’t want to do it alone? The LOOP Messenger application allows you make new friends by creating and sharing your suggestions with other people or choose from available activities, deals, offers, events, or just random cool stuff. Based on your personal preferences and interests, the in-app feed provides only the most relevant suggestions. Sharing is based on either a specific location or a group of previously selected people (friends). LOOP Messenger is your ultimate way to always keep abreast of everything that’s upcoming regardless of where you are.
The story
Before the idea of LOOP Messenger emerged, the market had already been quite saturated with a wide range of social apps for posting, chatting, photos and videos exchange, etc. However, the vast majority of those services were nothing but media content aggregators. As the online activity and the amount of content generated were growing, users started to have more and more irrelevant information in their app feeds.
So while others were focused on adding tons of sophisticated features in an attempt to hopefully balance the media flood, Tom Klein, the founder of LOOP Messenger, decided to go the other way around. Instead of creating a kind of a versatile media hub aimed to suit every possible user need, he decided to create a simple mobile app with just several but powerful features that would provide users with what other services never managed to — a better way of spending good time and making new friends.
Objectives
One of the fundamental components to be implemented was a highly personalized feed that would give the most accurate suggestions based solely on the user preferences, not people followed, and deliver the best possible “keep-me-posted” experience. Further, because of extreme competitiveness, it was crucial that the app architecture would allow for sudden and drastic changes to meet market trends.
Solution
Within a short period of time, our team built a simple application with an extremely flexible architecture that allowed for quick implementation of several major changes based on the client’s feedback. To provide the fastest possible user request processing, we used pure SQL since Active Record available in Rails by default is much slower due to specific limitations. In addition, it doesn’t always make optimized requests. Moving all the processes that calculate how user actions affect the feed of the other users to the background enabled the app to work with absolutely no delay.
Result
Simple and fast, LOOP Messenger is a mobile application that does exactly what a good social service is supposed to — provide users with an opportunity to find new friends and have a great time without having to spend hours on managing their newsfeeds and getting into hot online debates.
Technologies that we used
- High-load PostgreSQL configuration;
- Ruby 2.0;
- Rails 4.2.6;
- Redis;
- Omniauth;
- Sidekiq;
- Puma;
- ElasticSearch.