Skip to content

Story No. 03Healthcare & Fitness

Agencies, coaches and clients on one app that ships to every platform at once

ERA Health wanted ERAFit, its B2B2C coaching and fitness product, to cover nutrition, training programmes, wearables, lab results, payments and a CRM for agencies, coaches and clients alike. We designed and built it end to end in Expo and React Native, so a single codebase serves iOS, Android and web, with Firebase for sign-in and data, Stripe and Affirm for billing, and Gemini on Vertex AI for AI-assisted nutrition and lab analysis. Every user type works inside one multi-tenant platform, seeing only what their role allows.

Client
ERA Health
Sector
Healthcare & Fitness
Our role
Designed and built end to end
Context
Mobile · B2B2C

The challenge

ERAFit serves three groups with very different jobs. Agencies own the coaching business, coaches manage their clients, and clients log training, nutrition, wearable data and lab results. All three need their own screens and permissions, yet they are looking at the same records from different angles.

Two risks shaped the brief. The first was scope. With programmes, nutrition, lab results, wearables, CRM and payments to deliver, separate native apps plus a web app would have multiplied the build and let the versions drift apart over time. The second was privacy. Health information and payment details need firm boundaries, so a client’s lab results reach their own coach and stay invisible to every other agency on the platform.

  • Distinct experiences for agencies, coaches and clients on shared data
  • One product for iOS, Android and web
  • Payments handled inside the platform
  • AI support for reading nutrition data and lab results

Our approach

We settled on a single Expo and React Native codebase early, and that choice shaped everything that followed. Screens, business rules and releases exist once. When we build a feature for coaches, it lands on phones and in the browser in the same release, and a bug fixed once is fixed everywhere.

Tenancy came next. We modelled agencies, coaches and clients as a hierarchy and attached every record to a tenant and a role. Access then follows from the data model itself: an agency works with its own coaches and their clients, a coach with their own client list, and a client with their own programme and results. Getting this right before launch costs far less than adding it afterwards, and with health data the price of getting it wrong is high.

For the backend we used Firebase, with Firebase Auth for sign-in and Firestore for application data. Firestore’s live updates fit the way coaching happens, with a coach and a client often viewing the same plan on different devices at the same moment. Stripe and Affirm handle billing, so clients pay inside the same app they train in.

AI-assisted nutrition and lab analysis runs on Gemini through Vertex AI. We placed it next to the client’s other data so the analysis has context, and so coaches can read it alongside activity from wearables and the history held in the CRM.

For founders planning something similar, our advice is to settle the tenancy model before the first screen is designed. Who owns which record, and who may see it, drives the database, the access rules and much of the interface. Deciding it late means rework in all three.

Architecture & stack

App
Expo, React Native, iOS, Android, Web
Backend & data
Firebase Auth, Firestore
Payments
Stripe, Affirm
AI
Gemini, Vertex AI
Architecture
Multi-tenant (agency / coach / client), B2B2C SaaS

The outcome

ERA Health runs one product across three platforms for three kinds of user. Agencies, coaches and clients share one system, each limited to what their role should see, and each release reaches iOS, Android and web together.

Because coaching, payments, wearable data and AI-assisted analysis live in the same app, the business maintains one platform as it grows instead of a set of loosely connected tools.

Future work starts from a single base too. A new coaching feature, a further AI-assisted check or another payment option is built once and becomes available to every user type on every platform.

  • iOS, Android and web from one Expo/React Native codebase
  • Role-based access for agencies, coaches and clients
  • Billing through Stripe and Affirm, inside the app
  • Nutrition and lab analysis assisted by Gemini on Vertex AI

“Great working with Waseem, committed and hard worker!”

ERA HealthClient, ERAFit

ERA Health

Client, ERAFit · 5-star review on Upwork

Great working with Waseem, committed and hard worker!

Last updated

Tell us what you’re building.

Book a free one-hour call, or send a short brief and we’ll reply within two working days.