Case Study: The Story of The World's Biggest Gym Directory App
Did you know that only 10% of all startups have a chance to become successful? Lots of people have great ideas but this is not enough. Many different factors influence the result, and one of the most important ones is the technologies and technical solutions you apply to your product. The story you are going to read is a story of one successful startup which we helped to implement.
The story behind the TrainAway idea
Kenn Gudbergsen and Alexander Schroder are two young entrepreneurs from Denmark who used to work in the financial sphere before kickstarting their own startup company. Kenn and Alexander knew each other from the university where they were studying together. They both were fond of sports and traveled a lot in leisure or on business.
Being on the road all the time, they have felt how difficult it is to keep fit during a trip to another country. This was the moment when the idea to create TrainAway came to their mind. They wanted to create a tool which would help travelers find a gym wherever in the world they are.
Here's what Kenn said about the idea:
“The idea came from the constant issue we faced when we traveled of finding and accessing a gym. Some of the situations we experienced during our travels, are unfulfilling hotel gym facilities, time consuming research for finding a nearby quality gym, language barriers with the receptionist, payment issues, really long and pointless registration time.”
So, the decision to create TrainAway was motivated by the common pain point of its founders. Both Kenn and Alexander were experiencing inconvenience connected with searching gyms abroad and the market had no tool for solving that problem.
A closer look at TrainAway
TrainAway is present on iOS, Android, and web. How does it work? Users open the app and get to a map showing all the gyms nearby. They can choose a country or city and see all the gyms in the area.
To make this app relevant for all users from day one, the founders have created the world's largest database with more than 130.000 gyms worldwide, so no matter where you are traveling you will always be able to find a nearby gym even though TrainAway does not have any partner gyms in that area yet.
Clicking on a pin, representing a gym on the map, a user gets all the information about it: rates, the facilities it offers, etc. Also, users can see pictures, get directions, and check the prices for one visit, week and month pass.
All the app's features are available without registration. The sign up is needed only in case users decided to pay for visiting a gym through the app. To make this process faster and more convenient, it was decided to add social registration via Google and Facebook accounts. Such a standard option as registering with the help of email is also present.
Can't choose the right payment solution for your project? Here's a detailed manual on how to pick and integrate a payment gateway into your app!
To ensure secure payment processing and protect a sensitive financial information of customers, it was decided to integrate Stripe payment processor.
Payment options in the TrainAway app
The app saves the payment history and allows you to invite friends. There is also a really flexible search feature in the app where multiple filters can be applied. Users can search by the name of a gym, by city or apply category filtration where they choose what type of exercises they prefer and the app will show them just those places which offer needed services. There are filters like pool, yoga, cardio, CrossFit, boxing and many more.
Multiple filters help find exactly what users need
The main goal of this app is to provide users with convenient experience of searching and paying for gyms during their stay abroad. Since the direct purchase of session pass from the app is available only for partner gyms, one of the main business objectives for TrainAway is to partner with as many gyms all over the world as possible.
The first TrainAway's partners came from Baltic states and Iceland. Now, the company has dozens of partners over two continents -- Europe and North America. What's more, the number of gyms and countries is growing all the time.
In the run-up to the FIFA World Cup in Russia, the company partnered with over than 30 premium fitness clubs across Moscow and Saint Petersburg in order the users visiting this championship could keep fit throughout their trip. To get their app ready for this event, the founders asked us to take care of localization.
Here is how the founders see the future of their project:
“Our plans for the future is to create the world's largest platform of quality gyms worldwide connecting travelers and gyms, thereby removing the barriers to fitness worldwide. To do this, we have to work really hard in building the network of quality gyms and continuously develop the product.”
The strategy chosen to implement this project
The project itself doesn't have some incredible technical innovations. Our prior task was to focus on user experience and make it super convenient and easy to use. And we've made a hard trip to get there.
The requirements of Kenn and Alexander were very clear. They needed a simple user interface which would make this product stand out from others with its simplicity and usefulness.
To achieve that, first of all, we excluded all the features which user might not need, and which could have made the interface too burdened with details.
Have difficulties with GPS service? We've prepared a simple guide on how to integrate GPS feature into your app!
One of the issues our team faced was connected with design. In some cities, there were a lot of gyms and all the pins together looked like a mess on the map. That's why we applied pins clusterization. With its help, users first see the number of gyms around and then the gyms themselves as they zoom in the map.
Pins clusterization makes the app easier to use
The code checks a gym at particular coordinates. If there are several gyms at one set of coordinates, the system has to find out whether it's the same gym chain or those are different gyms. In the case it was the same gym, the app shows only one pin. If those gyms are different, the app clusterizes them according to the zoom. However, when users tap on a cluster, it splits into separate pins for each gym.
Need a fast yet precise project estimation? Check out our free app cost calculator!
Another feature for enhancing the user experience was an advanced search engine. As we've already mentioned, there are lots of categories and filters which help users find exactly what they need. To do that we used the place ID. It's a specific designation for each object on Google Maps. And the app performs a search for coordinates and Google ID at the same time. And we can do it for any location in the world.
Here's how Alexander commented on the difficulties they've faced when working with the previous outsourcing company:
“As in any project we had some difficulties and setbacks during the development process. It is very important to find and work with developers, which you trust can deliver the work and quality required across all aspects of the project (project management, development, design etc.). Unfortunately, we had to change developers during the project as it was not a match in terms of expectations and the actual outcome, which obviously delayed us. We therefore had to look for a new development company, which we trusted could deliver the project. We chose Cleveroad as they had a very good and convincing approach to taking over the project. We have not been disappointed with choice, and even if there have been some difficulties along the way we have been very satisfied with the work from Cleveroad.”
Technologies behind the project
Technologies used: Java, Swift, Google Maps API, Stripe API
When Kenn and Alexander contacted us, they already had a semi-ready server side. We were cooperating with their CTO who was building a back-end part of the app. By the end of the project, it was decided to allocate a back-end developer from our side for smoother work and more effective cooperation.
Our biggest challenge was to fix small bugs and amend the back-end in such a way that we could easily connect it with our front-end and mobile applications.
This project was developing simultaneously for iOS, Android, and web. Java and Swift were used to build native mobile applications. Google Maps API was used to power all the map features and Stripe API was used to work with payment processing.
At the moment, TrainAway has partnered with gyms in 14 countries! Especially the company is proud of the coverage in a variety of European cities. So, it became much easier for TripAway's users to work out while traveling throughout Europe.
We asked Alexander if he and Kenn were satisfied with the final product:
“We are overall very satisfied with the final product. It is even better than we imagined due to the expertise of the Cleveroad team. We can also add that the immediate feedback we have gotten from our users is very very good!”
Also, we asked Kenn to compare the original idea and the final product as well as what changes they made and why:
“The final product very much reflects our original idea. However, during the development process with subsequently tested and developed the concept further, and therefore we will introduce some further features to strengthen the TrainAway platforms relevance for all users from day one. With the original idea we have created the core of TrainAway from which we will continue to build and develop the product.”
The cooperation was fruitful and satisfying. We enjoyed working with Alexander and Kenn because they had such a great idea for the project and we hope to continue our cooperation!
If you have an interesting idea and you don't know where to start from, don't be shy to drop us a line. Out tech-savvy managers will consult you and estimate your idea. Let's build amazing products together!
Also, you may subscribe to our newsletter if you like this story! Just one letter a week with the most relevant articles and videos for you.