Trainer (Independent / Solo) — User Guide
You're a one-person business. MyTrainerOS replaces the eight apps you used to juggle — workouts, nutrition, scheduling, payments, messaging — with one platform that keeps 100% of every dollar your clients pay you.
At-a-Glance (5-minute orientation)
- Finish onboarding. Five stages: Profile, Delivery Mode, Business, Availability, Template. Certifications and Stripe Connect are not in this flow — both come afterwards from Settings.
- Connect Stripe. Settings → Stripe Connect. You can't take payments until this finishes.
- Invite your first client. Settings → Invite New Client.
- Build a workout. On a phone: More → Programming → Workouts → New Workout. On a wider screen (992px and up) Workouts is in the left side menu, and More does not repeat it. Choose a builder mode (template / from scratch / AI-generated).
- Schedule a session. Schedule → tap an empty slot → choose member → confirm.
That's the loop: program → schedule → coach during sessions → check in between sessions → repeat.
Nutrition logging is a member-side feature. Those screens are gated to client accounts, so you cannot log a meal on a member's behalf from your own login. You set their targets; they do the logging.
In-Depth — User Stories
US-TR-001: Complete trainer onboarding
Trainer onboarding is five stages, not four:
- Profile — photo, display name, bio, specialties.
- Delivery Mode — how you coach: in person, online, or both.
- Business — your business details.
- Availability — when you can take sessions.
- Template — a starting programme template.
Two things this guide used to put in this flow that are not in it: a certifications step, and a Stripe Connect step. Certifications go on Settings → Public Profile afterwards. Stripe Connect is Settings → Stripe Connect, and you will want to do it before you try to take a payment — but it is not part of onboarding and nothing blocks you from finishing without it.
US-TR-002: Add your first client
Direct add (you have their info):
- Members → Add Member.
- Enter their Member Email. That is the only required field — you can add a Personal Message (Optional) if you want the invitation to sound like you.
- Tap Send Invitation.
- They get an email with a link to join and set their own password. Everything else — name, phone, date of birth, goals — they fill in during their own onboarding, so you are not typing it for them.
Invite link (they self-serve):
- Send the invitation as above, then on the confirmation screen tap Copy Link or Share Link.
- Send that URL via SMS, Instagram DM, email — whatever channel you already use with them.
- They land on the registration page and complete onboarding themselves, then appear in your member list.
US-TR-003: Build a workout from scratch
Where Workouts lives depends on your screen. On a phone your bottom bar is Home · Members · Schedule · Business · Shop · More — there is no Workouts tab. Get there via More → Programming → Workouts. On a wider screen (992px and up) there is no bottom bar: Workouts is in the left side menu, and More does not repeat it.
- Open Workouts (see above) → New Workout.
- Pick a builder mode. From scratch for full control; Template to start from a saved program; AI to generate from a prompt.
- Add exercises by typing into the search box (autocomplete from the exercise library). Tap each to insert.
- For each exercise, set sets × reps × weight (or RPE). Drag to reorder.
- Tap Save → Assign to client(s). Pick one or more members. Done.
US-TR-004: Generate an AI program
- Open Workouts (More → Programming → Workouts on a phone) → New Workout → AI.
- Describe the program in natural language: e.g. "4-week fat-loss cycle for an intermediate lifter, 4 days/week, dumbbells + bench only."
- The AI generates a full multi-week plan in ~10 seconds. Review each week.
- Edit any exercise (swap, change reps, add notes). The plan re-renders live.
- Save → Assign.
The AI is shaped by the methodology you set up in Coach Brain, not by which certification body you listed. There is no NASM→OPT or ACE→IFT mapping in the product — this guide used to claim one and it does not exist.
US-TR-005: Schedule a session
- Schedule in the bottom tab bar.
- Tap any empty 15-minute cell in the week grid.
- Choose:
- Type — In-person, Virtual (video), or Phone.
- Member — start typing their name.
- Service — pricing option (drop-in, package session, free consult).
- Notes — anything they should know before arriving.
- Tap Confirm. The session appears on the member's side.
Do not assume they were told. Push notifications are not currently delivered on any platform, and there is no booking-confirmation email either. Until that is fixed, message the member when you book something for them.
Booking requests. When a member asks for a session, the request waits for you under Requests, the row just below the Day, Week and Month switch on Schedule. The number on it is how many requests are waiting. Tap it to open Booking Requests, then Approve or Decline each one. If the number could not be loaded, none is shown; the list still opens. Gym owners see the same row for the sessions they run themselves.
There is no drag-to-resize handle on the schedule grid — to change a session's length, reopen it and edit the duration.
Month view shows who each session is with. On a tablet or desktop, each day lists its three earliest sessions by the member's name, then +N more; a name too long for the day is cut short with "…". On a phone the days show coloured dots, and the selected day's sessions are listed under the calendar with the member's name and start time — tap one to open it. On a phone, tapping a day selects it and lists its sessions underneath, and you stay in Month; to see that day in Day view, tap Day at the top. On a tablet or desktop, tapping a day opens it in Day view.
US-TR-006: Nutrition — what you can and cannot do
You cannot log a meal for a member. Every nutrition screen is gated to client accounts. Following an instruction to open "Nutrition → Voice Log" from a trainer login gets you a message saying the feature is only available for clients, and drops you back on your dashboard. An earlier version of this guide walked through exactly that, and it could never have worked — a logged meal is written against the signed-in user, so there is no on-behalf-of path behind it either.
What you actually do: set the member's targets, and coach against what they log. Voice, photo and barcode logging are all on their side, and they are fast — voice logging a typical meal takes seconds, which is the point.
If a member is not logging, that is a coaching conversation, not something you can do for them from your account.
US-TR-007: AI Coach — methodology-aligned
- Open the AI Coach.
- Type a question: "Casey's been plateauing on squat for 3 weeks."
- The AI drafts a response shaped by the methodology you configured in Coach Brain.
Where to find it: the Ask Aurora button on your Home tab. That is the AI coach chat.
Coach Brain — where you teach it your methodology — is Settings → AI Methodology, under the "Coach Brain AI" heading. The same section has Review AI Responses.
Review & Prescribe is at More → AI & Coaching → Review & Prescribe, with a badge showing how many items are waiting on you. Since nothing reaches a member until you approve it, that badge is the queue to keep clear.
Anything the AI drafts for a member goes through Review & Prescribe before the member sees it. That gate is deliberate: nothing reaches a client without you approving it, and what they receive goes out in your voice, attributed to you.
There is no Ask AI button on a member record, and no Send to member button in the AI Coach — both were described in an earlier version of this guide and neither exists.
US-TR-008: Take a payment / collect for a session
Payment is taken through the Checkout panel, opened from the schedule.
- Open the session on your schedule and start checkout.
- Pick the payment method. If the member has a session package that covers it, the package is offered first and shows how many sessions are left and when it expires.
- Confirm with Complete Checkout — the button shows the total you are about to take.
There is no Charge $X button on session completion and no Send payment link action. Both appeared in an earlier version of this guide; neither is in the app.
Money settles to your own Stripe Connect account. MyTrainerOS takes 0% of it.
US-TR-009: Run a check-in via CRM
- CRM → Pipeline. Default columns: New → Contacted → Qualified → Consultation → Won / Lost.
- Drag any lead between columns as they progress.
- Tap a lead to open their card — notes, follow-up reminders, email thread, last touch date.
- Use Email → Template to send a pre-built sequence (welcome, nurture, last-chance) or write a one-off.
US-TR-010: Mark a workout completed (member-side handoff)
When your client finishes a session, they tap Finish workout in their app. You see:
- An in-app notification. (Push notifications do not currently arrive on any platform — see the troubleshooting section. Do not rely on push to tell you.)
- The completed session and its volume appear in their training history.
There is no History → Recently completed view, no automatic CRM "Active" re-tag on completion, and no built-in post-session check-in nudge. All three were described in an earlier version of this guide and none of them exist.
Filing a support ticket
You can file a support ticket from the Help section of the app. Tickets go to MyTrainerOS staff. This is separate from messaging your clients — a client's question about their program is a conversation with you, not a support ticket.
When to file a ticket vs. check the help center
Search the help center first — it is faster than we are, and most "how do I…" questions are already answered there. File a ticket when:
- Something is broken, not just unfamiliar.
- You've found the right help article and it doesn't match what you're seeing.
- Money is involved — a payment, a payout, a refund, or a subscription.
- It affects a member, not just you.
Anything touching your payouts is worth filing rather than waiting on. Payment problems compound: a failed charge today is a missed session tomorrow and an awkward conversation next week.
These are the response targets we publish. Severity is chosen when the ticket is created.
| Severity | First response | Resolution target |
|---|---|---|
| Urgent — production down, you can't take payments | <2h business | <24h |
| High — a feature is broken, or a member is blocked | <8h business | <72h |
| Normal — how-to questions, minor bugs | <24h business | <7 days |
| Low — feature requests | acknowledged within 7 days | no commitment |
What to include
The difference between a ticket resolved on the first reply and one that takes four round-trips is almost always the detail in the first message. Include:
- What you were trying to do, in one sentence.
- What happened instead — the actual message or behaviour, not a paraphrase of it. If there was an error, quote it exactly.
- Steps to reproduce, numbered, starting from a screen you can reliably get back to.
- A screenshot, if anything was visible on screen.
- Who it affects — just you, one member, or everyone. If it's a specific member, include their member ID rather than their name.
- When it started, and whether it has ever worked.
Please don't paste health details into a ticket. We don't need a member's measurements, injuries, or nutrition history to fix a software bug, and a ticket is not the right place to store them. A member ID is enough for us to find the right account.
Trainer-specific detail worth adding: whether the problem happens for one client or all of them, and whether it happens on your phone, in a browser, or both. A bug that only appears on one of the two is a much shorter investigation when we know that from the first message.
Tracking status
Every ticket moves through four states:
- Open — filed, not yet picked up.
- In progress — someone is actively working on it.
- Resolved — we believe it's fixed and we're waiting on you.
- Closed — finished.
Nothing closes on a timer. A resolved ticket stays where it is until a person closes it, so there is no window you can miss and no deadline on you. If a resolved ticket did not actually fix your problem, reply on that same ticket — your reply reaches the support team and they can pick it back up. If the same problem returns much later, file a new ticket and reference the old number so the history is easy to follow.
If you're stuck
If a ticket has gone past its first-response target above, reply on the existing ticket rather than opening a second one — a reply bumps it, and duplicate tickets split the history across two threads and slow things down. If the problem has got worse since you filed (it started as a question and is now blocking payments), say so in a reply and ask for the severity to be raised. Severity is not fixed at intake.