Built · Three-sided marketplace

MyFitHub

Three-sided marketplace with dual Stripe Connect flows. Trainers earn 80% of every session.

80%
Trainer Earnings
3
Sides (trainers, gyms, trainees)
2
Stripe Connect flows
MyFitHub — gym calendar, trainer wallet, and messaging across web and mobile
01 / The challenge

Three sides. Money moving in two directions.

MyFitHub connects trainers, gyms, and trainees — which means two separate Stripe Connect flows running side by side: trainees paying trainers with an 80/20 platform split, and trainers paying gyms for space.

Every booking touches live schedules across time zones, and the whole lifecycle — session completion, payouts, review requests, reminders — had to run without anyone touching it.

02 / What we shipped

A full-stack Next.js 15 marketplace, automated end to end.

Dual Stripe Connect Flows

Trainee→trainer payments with an 80/20 platform split, trainer→gym rental payments — reconciled automatically.

Real-Time Booking + Calendar Sync

Live availability with conflict prevention, instant confirmation, and two-way Google Calendar sync.

Location-Based Discovery

Google Maps integration for finding nearby trainers and gyms, filtered by specialty and availability.

Messaging & Reviews

Built-in chat with a Tiptap rich text editor, plus reviews tied to completed sessions.

Lifecycle Automation

Vercel Cron handles session completion, payouts, review requests, and reminders — no manual steps.

Analytics Dashboard

Earnings, bookings, and performance charted per role with Recharts.

MyFitHub booking flow — discover trainer, pick a slot, pay and confirm in three taps
From discovery to booked session in three taps — no back-and-forth, no waiting for approval.
03 / How it ran

Architect, build, ship — payments wired end-to-end.

  1. 01

    Architecture & Design

    Dual payment flow design, database schema, UI/UX planning.

  2. 02

    Core Development

    Stripe integration, booking system, real-time features.

  3. 03

    Testing & Launch

    Payment testing, automation, production deployment.

MyFitHub trainer discovery — web dashboard and mobile app
Trainer discovery — filter by specialty, location, and availability. Book in seconds.
04 / Stack

Next.js 15 end to end.

  • Next.js 15
    App Router, Server Components, Streaming
  • React 19
    Frontend
  • TypeScript
    Type-safe development
  • Tailwind CSS
    Styling
  • Radix UI
    Accessible component primitives
  • Supabase
    PostgreSQL database, Auth, Storage
  • Stripe Connect
    Dual payment flow processing
  • Vercel Cron
    Automated job scheduling
  • Google Maps API
    Location services
  • Resend
    Transactional emails
05 / The outcome

Three sides, two payment flows, zero manual steps.

Trainers keep 80% of every session fee. Bookings confirm in real time, both Stripe Connect flows reconcile automatically, and the session lifecycle runs itself on cron.

Next move

Need a marketplace that holds at scale?

Two-sided, three-sided, with Stripe Connect, escrow, dispute flows — we've built the corners that come back to bite you. Audit first, fixed-price build after.

Next case study
Dr. Golly