Coach-to-athlete training platform

The platform coaches run their business on.

Programmed routines down to the rep. Wellness tracking. Real-time chat. Recurring subscriptions billed through Apple and Google. Shipped for iOS and Android.

  • iOS + Android
  • 4 languages
  • 3 roles
  • Apple & Google IAP
Jolt coach home screen

Coaches are running real businesses on WhatsApp and spreadsheets.

📋

No real programming

Sets, reps, rest and RIR end up in a chat message. Nobody can track load or progression.

🩺

No readiness signal

The coach never knows how the athlete slept or how sore they are before prescribing the session.

💳

No recurring revenue

Payments are chased by hand, month after month, with no plan limits and no automatic renewal.

Jolt replaces all of it with one product.

🎯

Programming that holds up

Every exercise carries sets, reps, rest to the second and RIR. Routines live in folders, get assigned to a date and reach the athlete only once they are complete.

📈

Readiness before every session

A short wellness questionnaire turns into a readiness score the coach sees next to the completed session, with the athlete's own notes and perceived effort.

🔄

Revenue that collects itself

Tiered subscriptions billed by Apple and Google, renewing on their own, with plan limits enforced by the API and an admin panel to grant or revoke access.

The product

Everything a coaching business needs, already built.

01

Routines programmed down to the rep

Folders, routines, blocks and exercises. Every exercise carries sets, reps or time, rest to the second and RIR. The athlete only sees the session once every parameter is set — no half-written workouts reach them.

  • Sets × reps · rest 1'30" · RIR 2
  • Reusable routines organised in folders
  • Copy a day's work to another athlete or date
Exercise parameters filled in
Routine editor
02

Assign to the calendar, not to a chat

The coach drops a routine on a date in the athlete's calendar. The athlete gets a push notification and the session is waiting for them that morning.

  • Per-athlete calendar
  • Group calendars for squads
  • Real-time notification on assignment
The athlete's calendar with assigned sessions
The athlete opens the app and today's session is waiting
03

Wellness and readiness before every session

Before training, the athlete answers a short wellness questionnaire — sleep, fatigue, soreness, stress. It becomes a readiness score the coach sees next to the completed session, plus the athlete's own notes per exercise.

  • Readiness score out of 10
  • Borg scale on session completion
  • Athlete reports flagged to the coach
Pre-training wellness questionnaire
Completed routine with readiness score
04

Real-time chat and notifications

Coach and athlete talk inside the product, over sockets. Routine assigned, session completed, wellness updated, coach request accepted — every event reaches the other side instantly, and as a push notification when the app is closed.

  • Socket.io messaging
  • Push notifications per event type
  • Notification history and preferences
Coach and athlete chat
Notification feed with routine and wellness events
🏋️

Exercise library with media

Every exercise carries an image or a demo video, a category and subcategories — 5 categories and 52 subcategories, translated to the user's language.

👥

Groups

Organise athletes into squads and program a whole group's calendar at once instead of one by one.

🔁

One coach per athlete, with consent

An athlete belongs to one coach. Accepting a second coach asks for explicit confirmation and transfers them — it never silently duplicates.

Monetisation

Recurring revenue is already wired to both stores.

Tiered subscriptions with enforced limits, a 7-day free trial, server-side receipt validation and renewal webhooks. Not a payment button — a billing system.

Free

$0/mo

7-day trial

  • 1 athletes
  • 3 exercises
  • 1 routines

Starter

$19/mo

jolt_starter

  • 10 athletes
  • 30 exercises
  • 15 routines

Elite

$79/mo

jolt_elite

  • athletes
  • exercises
  • routines

The unit economics, with the platform's own numbers.

Subscriptions are billed by Apple and Google, so there is no payment processor to integrate and no chargeback risk. What reaches the operator, after the stores take their cut, against what it costs to keep the service running.

$33 Net per Pro coach, per month, after the store commission
~$70 Total monthly infrastructure, at any of these volumes
98% Gross margin at 100 coaches, after infrastructure
Coaches on Pro Net monthly Net yearly Infrastructure
25$829$9,945~$70
100$3,315$39,780~$70
250$8,288$99,450~$70

Pro at $39/month with a 15% store commission (Apple and Google small-business programme, under $1M a year). Infrastructure is the API host plus the managed database; media storage and email stay inside their free tiers at these volumes. The plan limits are enforced by the API, so a coach on Pro cannot exceed 40 athletes without upgrading.

  • Apple StoreKit and Google Play Billing, same product IDs
  • Receipts validated on the server, never trusted from the client
  • Renewal, cancellation and refund webhooks from both stores
  • Plan limits enforced by the API, not just hidden in the UI
  • Admin panel to grant plans and manage subscribers
Subscription plans in-app
Active subscription and plan usage
Reach

Four languages and three roles, everywhere in the product.

English, Spanish, Portuguese and Arabic, Arabic script included. Even the content that lives in the database, like exercise categories and wellness questions, is translated for the user. Coach, athlete and admin each get their own navigation, permissions and screens.

🇺🇸 English🇦🇷 Español 🇧🇷 Português🇸🇦 العربية
AthleteToday's session, wellness, progress, chat
CoachExercises, routines, athletes, groups, calendars
AdminSubscribers, plan grants, oversight
Exercise categories translated to English
The same screen in Spanish
Technical sheet

Built to hand over, not to demo.

Stack

Mobile
Expo SDK 53 · React Native 0.79 · React 19 · TypeScript · expo-router
State
Redux Toolkit
Backend
NestJS · MongoDB (Mongoose) · JWT
Real time
Socket.io
Media
Firebase Storage
Payments
Apple StoreKit · Google Play Billing
Notifications
Expo Notifications (APNs / FCM)

Already solved

  • Native builds for both platforms, one branch each
  • In-app purchases validated server-side on iOS and Android
  • Store webhooks for renewal, cancellation and grace period
  • JWT stored in Keychain / EncryptedSharedPreferences
  • Full i18n, including database content and dates
  • Role-based permissions enforced on the API
  • End-to-end tested on device and simulator
Backend

Designed so the app never has to trust itself.

Stack

Runtime
Node.js · NestJS · TypeScript
Data
MongoDB Atlas · Mongoose
Auth
JWT (Passport) · bcrypt hashing
Real time
Socket.io
Payments
Apple App Store Server API · Google Play Developer API
Email
Resend
Notifications
Expo Server SDK (APNs / FCM)
Infra
Render · declarative deploy with health check

Already solved

  • Purchases validated against Apple and Google from the server, never from the client
  • Webhooks from both stores — renewal, cancellation, expiry, refund and grace period — with verified signatures and idempotent delivery
  • One plan catalogue for both stores, with historical products still resolving
  • Plan limits computed on the server and enforced when each resource is created
  • Permissions by role and by ownership: every request is authorised field by field, not just per endpoint
  • Credentials never leave the database in any API response
  • State changes pushed over sockets: the app learns about an expiry or a renewal without polling
  • One coach per athlete, with confirmed transfer and quota release in the same operation
  • Test suite over the core: plans, subscription lifecycle and permission rules
  • Paginated, indexed endpoints for the listings that grow
Back office

And an admin account that runs the whole platform.

The third role is the one the owner keeps. An admin sees every coach on the platform, what they pay for and what they are allowed to use — and can hand out a plan without anyone going through a store.

  • Every coach on the platform, searchable by name
  • Current plan, athlete limit and renewal date per coach
  • Grant Starter, Pro or Elite by email invitation
  • Remove a coach and free their subscription

Useful for onboarding a gym, comping a partner, or supporting a coach whose store purchase failed.

Admin granting a plan by invitation
Coach subscription detail seen by an admin
Where it stands

An honest handover checklist.

Everything below is verifiable. What is missing needs your own developer and store accounts — it cannot be transferred with the code.

Done and verified

  • iOS and Android apps, all three roles
  • Subscriptions end-to-end with both stores
  • API, database and real-time layer
  • Four languages across every screen
  • Push notifications wired per event

Needs the buyer's accounts

  • Apple Developer account to publish on the App Store
  • Google Play Console with the subscription products created
  • Production hosting and database of your choice
  • A domain to host the privacy policy (the document is written and included)

Take over a finished product, not a prototype.

Source code for both apps and the API, the deployment setup and a walkthrough of every flow you just saw.

Request the walkthrough

The small print