Sharing economy workout app development

Sharing economy workout app development

Itransition delivered an MVP of a sharing economy fitness application that enables users to work out online guided by approved fitness trainers in real time.

Context

The COVID-19 pandemic led to a growing demand for mobile apps offering online fitness classes. This is when our customer had an idea of a sharing economy app that would connect fitness trainers and trainees. The trainers would offer their services and receive additional income, while trainees would be able to choose from a variety of fitness classes.
To bring this concept to life, the customer needed a mature technology vendor with expertise in mobile app development. They chose Itransition due to our history of collaboration with startups and a robust portfolio of custom-built mobile applications.

Solution

The discovery phase

We started the project with a four-week discovery phase, during which we conducted our own research and had meetings with the customer to flesh out the project vision, identify business goals, and validate system and user requirements. 

Our team and the customer decided that we will deliver an MVP to test the app’s idea and then gradually scale up its functionality. We also outlined the features that we would deliver in the initial app version and the ones for subsequent releases. Since the customer wanted to focus on the UK market, they chose to develop an iOS application only, as the iOS platform has the highest usage among the UK population.

Business analysis

Proceeding from our research and the established goals, our business analysts created a technical specification outlining the app's architecture and system components as well as the programming tools for its development. 

As the solution’s key functionality was live training, it was essential to choose a suitable video streaming provider. Our team analyzed different third-party video streaming solutions available on the market and settled on Twilio, as it fully met customer requirements such as simplicity, ease of customization, out-of-the-box scalability, and the video session recording capability.

Because the app was intended to have a complex business logic, our team created a separate document where we outlined all the business rules related to workout booking, pricing, cancelation, penalties, etc., and their dependencies.      

UX/UI design

The customer emphasized the importance of an intuitive user interface from the project’s start, so our designers prepared approximately 90% of the solution’s wireframes during the discovery phase and finalized the app’s design concept in three days.

When the customer approved the wireframes, our UX specialists started working on the design concept using the startup’s brand book as a guide. We suggested changing the app’s color palette from navy and fuchsia to the more harmonious navy and yellow, which was met with the customer’s approval. As the app was intended for iOS devices, Itransition’s design team also relied on Apple’s human interface guidelines. 

The wireframes
The final design

To ensure the app design was intuitive, we made text fields to change their state or appearance to guide the user. We also highlighted unavailable time slots grey and changed the color of the clicked button to provide better visual feedback.

MVP development

Our team developed an MVP as a mobile app that connects fitness trainers to users who want to work out at home. The solution supports three major user roles with different functionality:

  • Trainees, or people looking for live fitness classes. The app allows them to fill in their personal profiles, filter trainers by different parameters, like type of fitness class, language, date, and available time slots, to book fitness classes, and receive notifications about upcoming workouts or their cancellation.
  • Trainers, or people providing fitness coaching services. The app lets them create trainer profiles, manage available time slots for workouts, receive notifications about upcoming workouts or their cancellation, and manage their in-app revenues.
  • Admins, or the app’s administrators. They can manage and deactivate users (for example, trainers who have a three-star rating or lower), view and process complaints, and gather statistics on the most popular fitness class, best-rated trainers, and such.

To offer their services via the app, trainers need to fill in an application where they specify their personal information, specialization, and working experience, attach documents proving their qualification (e.g., diploma, employment history, training certificate), and upload examples of their workouts. They also need to set the price per training session, preferable payment method, and available time slots. Admins then review trainers’ applications and either accept or reject them.

The trainer application form

We developed the Calendar feature so that trainees could manage their workouts and view their upcoming and completed sessions, while trainers could set working days, schedule workouts by adding available time slots, and view booked sessions.

The Calendar view for trainees and trainers

Our team also added push notifications to alert users of upcoming or canceled workouts and the Inbox feature to display all workout-related messages and notifications.

To enable payments through the fitness app, we integrated it with an online payment processing solution, Stripe. For fitness trainers, we added the Payouts feature where they can monitor their entire payout history, including completed and scheduled payouts and total earnings.

Workout booking and payout screens

The customer emphasized the importance of great in-app customer service, so we implemented the support functionality allowing users to request help through a chat or a call with an admin at any time, even during a workout

The online assistance screen

Technologies 

To develop the iOS-based MVP fitness application, we utilized the following technologies and tools:

  • Swift to build the user-oriented mobile app
  • React.js to develop a single-page app for admins
  • Apollo Server, Express.js, and Serverless to create a Node.js-based backend API to handle GraphQL requests from the mobile application and admin panel and process Stripe webhook events
  • Amazon API Gateway for processing HTTPS requests and ensuring the app’s security and scalability 
  • Amazon RDS for the application data storage
  • Amazon SES for sending emails to the app users
  • Amazon S3 for secure user data storage
  • Amazon SNS for sending push notifications
  • Google Firebase to register user devices for push notifications delivery 
  • Amazon CloudWatch for application infrastructure monitoring

Security & GDPR compliance

Itransition developed the workout application fully in line with the GDPR. The app requests only the data that is necessary for providing users with adequate services. Before capturing any personal data, the application asks for the user's consent. We also added the features that let users edit their personal information, delete their accounts, and have their personal data erased from the system.

To ensure security at the client-server communication level, our team used HTTPS to encrypt data in transit. We also implemented JSON Web Tokens for user authentication to secure information transmission for logged users. 

Furthermore, we applied RDS encryption to secure the database instance at rest in the production environment. To store database access credentials for RDS Proxy, we used the Amazon Secrets Manager service. We also implemented bcrypt, a password-hashing function, to secure user passwords. 

For network protection, we placed all used Amazon services in corresponding virtual private clouds and managed access to them with Amazon Security Groups and network access control lists.

Process

Itransition was the only technology partner responsible for the entire workout app development. 

Applying Scrum project management best practices, we worked in two-week sprints and held regular sprint planning meetings with the customer, where we reviewed backlog items and agreed on priorities for the next sprint. We also had backlog grooming meetings to keep product backlogs up to date, add user stories from newly discovered requirements, and update the priorities for user stories. Finally, we held daily standup meetings to review daily progress in addition to sprint retrospective meetings to review what went well and what could be improved.

At the end of each sprint, we would have a meeting with the customer where we demonstrated the available app functionality, while our project manager reported the project progress and presented the Earned Value Management report. When the app’s MVP was finished, we conducted the final demo, showing the solution’s available functionality to the customer.

Results

Itransition developed an MVP of a workout mobile app that connects trainees to fitness trainers in real time and allows them to hold one-on-one live workouts regardless of user location. Currently, the customer is testing the delivered application on beta users.