All work
MobileReact NativeFastAPIMongoDBReal-time chatPayments

Coaching Chat Platform

A WhatsApp-style coaching app where a whole coaching team shares one inbox, while each client sees a single coach.

The problem

A coaching business was running client relationships over personal WhatsApp numbers. Conversations were scattered across coaches' phones, there was no shared history when a coach was away, and the business had no record of what was promised to whom.

They needed one place where the whole team could reply to clients — without clients ever feeling like they were talking to a rotating cast of strangers.

Our approach

We wrote the cut list first: one shared team inbox, one coach-facing identity per client, OTP login so clients never manage a password, and payments inside the chat flow. Everything else was deferred.

The build ran in short cycles with a demo every 48 hours, so the coaching team was testing against real conversations from week one instead of reviewing mockups.

What we built

  • Shared team inbox — every coach sees the same conversation stream, with assignment and internal notes the client never sees.
  • Single-coach client view — clients see one coach identity and one continuous thread, no matter who on the team replies.
  • OTP login — phone-number sign-in with one-time codes, no passwords to forget.
  • Real-time chat with media — text, images and documents delivered instantly.
  • Quick replies — saved answers for the questions coaches get every day.
  • Broadcasts — one-to-many announcements to client segments.
  • Calls — in-app voice calls between client and coach.
  • Payments — clients pay for sessions and plans inside the app.

Tech stack

React Native (iOS and Android from one codebase)FastAPI backendMongoDB for conversation and client dataWebSockets for real-time deliveryPayment gateway integration

Outcome

  • The coaching team now works from one shared inbox instead of personal phones. [add real metric]
  • Client response time: [add real metric]
  • Paid sessions through the app: [add real metric]

Metrics marked [add real metric] are placeholders — we publish numbers only once the client confirms them.

Screenshots

Chat thread and shared team inbox
Chat thread and shared team inbox
Broadcast composer
Broadcast composer

Want a build like this?

Book a 20-minute scoping call. We'll tell you what it takes, what it costs, and what we'd cut.

Book a call