Case studies

A fitness marketplace serving two very different users

EvoFit is a B2B2C fitness marketplace built with Flutter for cross-platform deployment on iOS and Android. The app connects fitness enthusiasts with wellness centres, gyms and training facilities. We developed a dual-sided platform: consumers discover and book classes using an in-app token system, while businesses manage locations, sessions and attendance through a gym management dashboard.

EvoFit interface
Industry
Health and fitness
Duration
6 months to a year
Location
USA

Two products in one app

The client needed a marketplace connecting fitness consumers with wellness centres. The challenge was building a Flutter app that serves two distinct user types with almost nothing in common.

Consumers wanted class booking with location-based gym discovery, real-time availability and seamless payment. Businesses wanted scheduling software with multi-location support, class management, attendance tracking and revenue analytics.

Those are different applications with different vocabularies, sharing one codebase and one database. Most of the design work is deciding what the two sides genuinely share and what only looks similar.

Built in Flutter

We built EvoFit as a native Flutter application from scratch, with consistent rendering across iOS and Android from a single codebase. The Figma designs prioritised navigation for both flows separately rather than forcing one pattern onto both.

The business side

The gym management dashboard lets wellness centres register multiple locations, create and schedule sessions, manage trainer assignments and track attendance in real time. Owners get revenue analytics and customer insight through an admin panel.

Multi-location is where gym software usually breaks. A chain wants one view of the business and each site wants its own schedule, and those two requirements pull the data model in opposite directions.

The consumer side

Location-based gym discovery, class schedules with real-time availability, trainer profiles and team competition features. Users can create groups and compete in challenges.

Tokens instead of prices

We implemented a token payment system where users buy tokens in-app and spend them on classes. Different class types cost different token amounts, creating a flexible credit-based economy.

Tokens do something a per-class price cannot. They decouple what the user pays from what each partner charges, which lets the platform price classes differently across venues without renegotiating with every gym or confusing the customer.

The PostgreSQL backend on AWS handles transactions, user data and business operations.

Outcome

One codebase produced a production-ready marketplace on both platforms, reducing development time and ongoing maintenance. The B2B2C architecture serves operators and consumers through a single platform, and the token system gives both the platform and its partners flexible monetisation.

Screens

EvoFit class discovery and gym browsing
EvoFit class discovery and gym browsing
EvoFit class booking and schedule
EvoFit class booking and schedule
EvoFit token purchase and balance
EvoFit token purchase and balance
EvoFit gym management dashboard
EvoFit gym management dashboard

Client feedback

Despite the complexity of building a dual-sided marketplace, they delivered on time with clean, maintainable code.

AALA IT Solutions built our B2B2C fitness marketplace from scratch using Flutter for cross-platform deployment on iOS and Android. The gym management dashboard and consumer booking features work flawlessly. The AWS backend handles our token payment system and multi-location operations without issues. We recommend AALA IT Solutions for Flutter app development and complex marketplace projects.

James GarciaFounder and CEO, EvoFit

What next

Running something like this?

The engineers who built this are the ones you would work with. Tell us what you have and we will tell you plainly whether it is work we should take.