Onboarding a New Athlete
Whether you’re onboarding your first client or a high-profile athlete you’ve been chasing for a year, the first 48 hours set the tone for everything that follows. This page is the checklist we recommend before they ever tap “Start Workout.” The two outcomes you want from a clean onboarding:- Your dashboard reflects reality. One program row per assignment, sessions bucketed into the right weeks, no phantom duplicates.
- Your edits propagate live. When you tweak a top-set on Tuesday morning, your athlete sees the new prescription on Tuesday afternoon — no “tap Library → Load” instructions over text.
Before you send the invite
Confirm IL v1.3.6+ is live in both stores
v1.3.6 ships the auto-sync fix that makes program edits propagate without a manual reload. Open the App Store and Google Play, search for “IronLedger,” and check the listed version. If it’s 1.3.5 or earlier, hold the onboarding by 2–3 days while the review clears — installing an older build means the athlete will have to manually pull updates and you’ll see the symptom pattern in their dashboard.
Have the program template ready
Build the full block in Dashboard → Programs before the athlete accepts the invite. You can edit it later, but starting with a complete template (all weeks, all days, all prescribed sets/RPE/RIR) means the first sync gives them the whole map at once.
Decide on a single assignment, not weekly re-assignments
The most common self-inflicted onboarding mistake is re-assigning the same program every Monday “to refresh it.” Don’t. One
Program Assignment is durable — your edits to the underlying program flow over the top automatically (see How edits propagate below). Re-assigning weekly creates noise in the dashboard and confuses the athlete’s history view.The first 48 hours
Send the invite
Follow the Inviting Athletes flow. The athlete clicks the link, creates an account (or signs in), and lands in their client portal.
Ask them to install IronLedger and sign in
Confirm the version they see on the app’s About page matches what you saw in the store. The auto-sync behaviors described below only apply to v1.3.6+.
Assign the program — once
Go to Dashboard → Clients → [their name] → Programs tab → Assign Program. Pick the template, set a start date, and confirm. The athlete receives an in-app and email notification.
Have them open IronLedger while online
The first foreground after assignment runs a
fullSync that pulls the program down and stamps the canonical coach-program ID on every locally cached row. This is what makes the dashboard collapse their sessions back to one clean group later. If they accept the invite and immediately go offline, the stamping happens whenever they next have signal.Browse the block together
Ask them to open the program from Home or Library, then tap into Week 1 / Day 1. They’ll land on the day-preview screen — a read-only view of the prescribed sets, weights, and RPE. They can scroll forward through Weeks 2, 3, 4 to see what’s coming. No workout session is created from browsing — sessions only exist after they tap “Start Workout” and complete the motivation screen.
This is worth showing them on a screen-share. Coaches often assume athletes already know this, and athletes often assume tapping a day “starts” something. Five minutes of explicit walk-through removes that ambiguity.
Smoke-test from your side
Open the athlete’s profile on
/dashboard/clients/[their-id] and confirm the Workout Sessions tab shows exactly one outer collapsible for the program you assigned. Zero sessions inside is correct — they haven’t trained yet. After their first logged session, the count should go up by one, in the correct week bucket.How edits propagate
On IronLedger v1.3.6 and later,fullSync runs automatically when the app foregrounds and when the device reconnects after losing signal. That means:
| You do this in IronCoaching | The athlete sees it when |
|---|---|
| Bump top-set from RPE 8 to RPE 8.5 | They next open the app — no Library → Load tap required |
| Swap front squat for high-bar back squat on Week 3 / Day 2 | Same — next foreground or pull-to-refresh |
| Add a deload week | Same — the new week appears in their week list |
| Edit a day they’re currently logging mid-session | The change is queued. Their active session keeps the prescription it had when they tapped Start Workout. Next session picks up the new prescription. |
What “good” looks like in your dashboard
After two or three logged sessions, your athlete’sWorkout Sessions tab should look like this:
- One outer collapsible row per active program assignment (named like
Squat Block Q3 (From {Your Name})) - Inside it, week sections that match the template’s weeks (Week 1 - Date, Week 2 - Date, etc.) — using the actual program week structure, not a 7-day calendar approximation
- One session per day they trained, with the correct
Day Nlabel, in the right week bucket - A
Reviewedbadge on any session where you’ve left coach feedback
- Multiple identical outer rows for the same program → the athlete’s local program ID drifted across syncs (most often a sign they were on a pre-v1.3.6 build at some point)
- Every session bucketed as Week 1 → same root cause as above; the week-bucketing falls back to a 7-day heuristic when the canonical template can’t be resolved
- No “Mark as Reviewed” button on a session you’ve watched → the athlete hasn’t submitted structured feedback for that session; you can still leave them notes in messages or annotate any form videos directly
Common onboarding pitfalls
| Pitfall | Why it bites you | Do this instead |
|---|---|---|
| Re-assigning the same program weekly to “refresh” it | Creates extra Program Assignment rows in the dashboard, splits the athlete’s history into chunks | One assignment per training block. Edit the underlying program; the changes flow through. |
| Asking the athlete to “tap Library → Load every few days” | They’ll forget, you’ll think your edits aren’t landing, support spirals | Confirm they’re on v1.3.6+. Auto-sync handles it. |
| Skipping the read-only browse walk-through | Athlete taps a future day to peek, gets confused by the Start Workout button, abandons | 5-minute screen-share showing them the day-preview screen on Day 1. |
| Editing a program mid-session | Active session keeps the old prescription anyway; if they notice the discrepancy after the fact, it looks like a bug | Wait until they finish, or send the override in a message and edit after. |
| Onboarding before v1.3.6 is in both stores | Athlete installs an older build, hits the dashboard duplicate-row symptom, you both lose confidence | Hold the onboarding 2–3 days for store approval. Worth it. |
Onboarding a high-profile athlete
Same checklist, plus:- Stagger the first week. Don’t assign a maximal block on Day 1. Let them log a single submaximal session so you can confirm the dashboard renders cleanly before they’re 4 days in.
- Smoke-test on their device profile before they train heavy. Have them screen-share their IronLedger Home and Library tabs. If anything looks off (missing weeks, wrong day numbering), fix it before they put a barbell on their back.
- Pre-write the first weekly review template. A polished first review (see Weekly Reviews) signals the standard of coaching they’re paying for. The Quick Check-In template is a safe default for week one.
- Brief them on the “mark as reviewed” UX. If you watch a form video and the athlete didn’t submit structured feedback for that session, the “Mark as Reviewed” button won’t appear. That’s a backlog UX gap, not a bug — leave them notes via the messaging tab so the review is visible regardless.
Related
- Inviting Athletes — generating the invite link
- What Athletes See — the athlete-side surfaces you should know about
- Assigning Programs — assignment mechanics, notifications, replacement flow
- IronLedger Integration — how the mobile app shares data with the dashboard
- Weekly Reviews — template options for the first review