Back to work
FitAstra · 2025

Designing FitAstra's first revenue stream

A fitness app for finding workout partners near you — and, with this project, for finding a coach you can actually try before committing to.

TL;DR

FitAstra connects you with people who work out near you. Users had partners, but no professional guidance and coaching elsewhere meant paying for months upfront. I designed the Coach booking experience, where users book verified coaches for a single session or a package, and the first version of the coach app. It opened the first revenue stream for FitAstra.

80+
sessions booked
15+
coaches onboarded
2
apps designed — user side and coach side
Context

FitAstra helps you find people to work out with

It matches you with people working out near you — at your gym, a nearby park, or on a running route. The founder built it for working professionals in Bangalore who move cities for a job and end up training alone, which is where motivation usually breaks down.

I joined as a freelance product designer when the partner-matching version was live and the founder wanted to add coaching.

The problem

Users had workout partners, but nobody to guide them

A partner keeps you accountable, but they can't give you a plan, fix your form, or tell you what to do next. That's a coach's job — and getting one usually means committing to a one, three, or ten-month package before you've met the person even once. Too expensive and too risky if the coach turns out to be the wrong fit. And what if you only want advice on one specific problem?

There was a business side to this too: partner matching didn't earn anything. The Coaches tab had to work for users and become the way FitAstra makes money.

Working on the connection flow and handoff table in Figma, with a notebook of flow diagrams open on the desk
Whiteboard sketches of the app's screens — discover, chat, and the sent, received and accepted request states
Reviewing the app over a call with the FitAstra team
Sticky notes mapping the information architecture — home screen, discover, chat, profile and notifications
Exploration

We first explored a pay-per-minute chat model

The founder's reference was Astrotalk, an astrology app where you add money to a wallet and pay per minute to chat with astrologers who are online. He wanted the same model for coaches.

Instead of debating it in the abstract, I designed the complete flow in lo-fi — wallet and recharge, browsing coaches who are online, the chat session with its timer, ratings, and the coach's side of the same model. A very early version was also discussed with our initial users. That's where the problems became concrete:

Coaching is an ongoing relationship. A per-minute timer discourages exactly the kind of longer conversation a fitness plan needs.
The model only works when plenty of coaches are online at any hour. A new platform doesn't have that supply.
In interviews, users wanted to see who a coach is — experience, reviews, certifications — before paying, not chat with whoever happened to be available.

We dropped the direction. Designing it fully made that an easy conversation — the founder and I were looking at the same flows and the same user feedback, not arguing opinions.

User-side lo-fi flow — browsing coaches, wallet recharge, payment, prefilled fitness form, and the chat session
The chat model, designed in full — wallet, recharge, timer, ratings
Coach-side lo-fi flow — going online, chat requests and queue, the session timer, and earnings
The coach side of the same model — availability, requests, earnings
The solution

Book a coach by the session, not by the month

We moved to session-based booking. Users browse coaches, see who they are, and book a single session or a package. The decisions that shaped it:

01

Single sessions

Competitors only sold monthly packages. Here you can book one session — for a specific problem, or to try a coach before buying a package. The first session is free, which also helps new coaches build ratings early.

02

Named “Coaches”, not “Trainers”

The platform onboarded nutrition coaches too, not just gym trainers. The tab name had to cover both.

03

Pricing based on experience

Each coach's session and package prices follow their experience level, and the price is visible on the card before you open a profile.

04

Verification and refunds, stated upfront

Users hesitate to pay on a new platform. So every coach is personally verified with valid certifications, and if a session doesn't go as expected, the user gets a full refund. Both are shown before payment.

The shipped booking screens — find a trainer, coach profile, date and time, session details, payment, and my trainer
Sketches of the booking flow — coach tab, coach profile, date and time, session info, payment, and the booked state
Lo-fiShipped
The coach app

Designing the new coach app experience

For the marketplace to function, coaches needed their own tools. Their app covers the sessions booked with them, their active clients and each client's package progress, earnings and payouts, and their availability. Cancelling a session shows the penalty before the coach confirms it.

My role

Freelance product designer, working with the founder who was also the developer

I owned the experience end to end: user interviews, the chat-model exploration, information architecture, flows, UX for both apps, and the documentation the developer built from.

Impact

Shipped on iOS and Android, and opened a new revenue stream

Coach booking went live as one of FitAstra's core features and gave the app its first paid product.

80+
sessions booked
15+
coaches onboarded
30+
paying clients
4.8/5
avg. session rating

I worked on FitAstra in 2025 and handed the project off after launch. The app has evolved since — this case study covers the version I designed and shipped.

The app is live — try it yourself

What I learned

People pay when they value what they're paying for

The things that made users comfortable booking — the coach's experience, the price, the refund policy — all had to be visible before the payment screen, not discovered after it. The goal of this project was to make the users see the value of what they were paying for.