Handler onboarding copy review
The first three slides now include a focused third review based on your feedback. The remaining screens keep the broader v2 recommendations until you review them.
Reviewers:
- Grok 4.5 through Grok Build CLI
- Claude Opus 4.6 Thinking through Antigravity CLI
- Codex final synthesis
No onboarding code has been changed.
What changed in the focused intro pass
- The app is now correctly named Handler.
- Slide 1 sells a coherent program instead of random workouts.
- Slide 2 keeps the strongest part of the current copy and makes the app the adjustment mechanism.
- Slide 3 now sells the log-to-progression loop, not another version of personalization or adaptability.
- Grok and Antigravity Opus reviewed your notes before Codex wrote the final synthesis.
- Proposed copy contains no em dashes.
Recommended story
- Handler gives the user a coherent multi-week program, not disconnected workouts.
- Today’s session can adjust when the user’s circumstances change.
- Logged performance informs the training that follows.
- Intake feels like a useful consultation.
- The readback proves Handler listened.
- The paywall presents a plan that is ready to start.
1. Intro slide 1
Current
- Title: “This is your trainer, not a workout generator”
- Body: “You will get a structured plan that actually fits you, not random workouts stitched together.”
- CTA: “Continue”
- Returning link: “Already have an account?”
- Signed-in links: “Skip” / “Continue”
Your feedback
- You like the “not random workouts” distinction.
- You are unsure about using the app name in this slide.
Grok focused round
- Title: “A real program, not a generator”
- Body: “Multi-week training built from your goals, schedule, experience, and gear. Sessions that connect, not random workouts stitched together.”
Antigravity Opus focused round
- Title: “Not random workouts. A real program.”
- Body: “A multi-week training block built from your goals, schedule, and what you can handle right now.”
Codex recommendation
- Title: “A real program. Not random workouts.”
- Body: “Built around your goals, schedule, experience, and equipment, so every session has a purpose.”
- Keep the CTA and account links.
Why: This keeps the distinction you liked, removes the brand name, and makes the benefit feel deliberate rather than generated.
Decision: [ ] Codex round 3 [ ] Grok round 3 [ ] Antigravity round 3 [ ] Keep current [ ] Custom
2. Intro slide 2
Current
- Title: “When life changes, just say it”
- Body: “Short on time, travelling, sore, hurt, or want a different focus? Your trainer adjusts the session with you.”
- CTA: “Continue”
Your feedback
- You mostly prefer the current version.
- It may be slightly long, and “the app” may be cleaner than “your trainer.”
Grok focused round
- Title: “Today can change with you”
- Body: “Running late, sore, travelling, or missing equipment? Tell the app and this session reshapes around it.”
Antigravity Opus focused round
- Title: “Your session can change when you do”
- Body: “Sore, short on time, travelling, or missing gear? Tell the app and the workout adapts before you start.”
Codex recommendation
- Title: “When life changes, just say it.”
- Body: “Short on time, travelling, sore, or want a different focus? Tell the app and your session adjusts.”
- Keep the CTA.
Why: The current title already sounds natural. This keeps its voice, shortens the body, and replaces the more artificial “your trainer adjusts” construction.
Decision: [ ] Codex round 3 [ ] Grok round 3 [ ] Antigravity round 3 [ ] Keep current [ ] Custom
3. Intro slide 3
Current
- Title: “Train in the app. Coach through chat and iMessage.”
- Body: “Your workouts live here. Your trainer stays with you between sessions too.”
- CTA: “Meet My Trainer”
Your feedback
- None of the previous versions fully landed.
- “Coaching that knows your plan” repeats slide 1.
- This slide needs a different benefit from both planning and same-day adjustment.
Grok focused round
- Title: “Your sets decide the next step”
- Body: “Log what you lift in the app. That performance feeds progression and better calls on future training.”
- CTA: “Start training”
Antigravity Opus focused round
- Title: “Every session makes the next one better”
- Body: “Log your sets, and your training progresses from what you actually did. Not from a guess.”
- CTA: “Get started”
Codex recommendation
- Title: “What you do shapes what comes next.”
- Body: “Log each set as you train. Your performance guides future sessions and progression.”
- CTA: “Build my plan”
Why: This introduces the missing third idea: Handler learns from completed training. It does not repeat the initial program or same-day adjustment promises.
Product truth: Remove every iMessage claim until the feature is live.
Decision: [ ] Codex round 3 [ ] Grok round 3 [ ] Antigravity round 3 [ ] Keep current [ ] Custom
4. Trainer intake shell
Current
- Loading: “Starting your intake” / “Your trainer is getting your first set of questions ready.”
- Header: “Trainer Intake”
- Header body: “Quick answers now so your first block fits your real life properly.”
- Opening 1: “I’m your AI trainer. I’m going to build your first training block around your real life, not an ideal week.”
- Opening 2: “I’ll ask a few quick questions, then I’ll show you exactly how I’d coach you.”
- Labels: “Coach” / “You” / “Current question”
- CTA: “Continue”
- Placeholders: “Optional” / “Type your answer...”
- Optional CTA: “Skip for now”
Grok v2
- Loading: “Getting your intake ready” / “A few questions so your first training block starts in the right place.”
- Header: “Trainer intake”
- Header body: “Short answers now. Clearer sessions from day one.”
- Opening 1: “I’m your trainer. I’ll use these answers to build your first training block.”
- Opening 2: “A few quick questions, then I’ll show you how I’d coach you.”
Antigravity v2
- Loading: “Preparing your consultation” / “Your trainer is setting up a few questions.”
- Header: “Trainer Intake”
- Header body: “Quick answers so your first block fits how you actually train.”
- Opening 1: “I’m going to build your first training block around your goals, your schedule, and what your body needs.”
- Opening 2: “A few quick questions, then I’ll show you the plan.”
Codex recommendation
- Loading: “Getting started” / “Your first question is up next.”
- Header: “Build your plan”
- Header body: “Your answers shape the training.”
- Opening 1: “I’ll turn a few details about you into your first training block.”
- Opening 2: “Then I’ll show you what I’m planning and why.”
- Keep “Coach,” “You,” “Continue,” “Optional,” and “Skip for now.”
- Remove “Current question.” The progress counter already provides that context.
- Required placeholder: “Type your answer”
Why: This frames the intake as useful work that produces a clear result. It removes the self-conscious AI introduction.
Decision: [ ] Codex [ ] Grok v2 [ ] Antigravity v2 [ ] Keep current [ ] Custom
5. Goal
Current
- Question: “What are we working toward right now?”
- Options: “Get stronger” / “Build muscle” / “Get leaner” / “General fitness”
Grok v2
- Question: “What are we training for right now?”
- Keep the current options.
Antigravity v2
- Question: “What are we working toward?”
- Keep the current options.
Codex recommendation
- Question: “What do you want from your training?”
- Keep the current options.
Why: It is direct, natural, and focused on the user rather than the onboarding process.
Decision: [ ] Codex [ ] Grok v2 [ ] Antigravity v2 [ ] Keep current [ ] Custom
6. Gender
Current
- Question: “Which best fits you?”
- Options: “Male” / “Female” / “Other / prefer not to say”
Grok v2
- Question: “Which best describes you?”
- Keep the current options.
Antigravity v2
- Question: “Which best describes you?”
- Keep the current options.
Codex recommendation
- Question: “Which best describes you?”
- Options: “Male” / “Female” / “Another identity” / “Prefer not to say”
Why: “Other” and “prefer not to say” are different answers and should not share one option.
Product decision: Confirm whether this is identity data or an input for sex-based strength standards. The reason for collecting it determines the right question. Splitting the final two options requires a data-model change.
Decision: [ ] Codex plus product change [ ] Grok v2 [ ] Antigravity v2 [ ] Keep current [ ] Custom
7. Experience
Current
- Question: “How experienced are you in the gym?”
- Options: “Brand new” / “Getting comfortable” / “Know my way around” / “Advanced”
Grok v2
- Keep the current question and options.
Antigravity v2
- Question: “How much gym experience do you have?”
- Keep the current options.
Codex recommendation
- Question: “How experienced are you with strength training?”
- Options: “Just starting” / “Learning the basics” / “Know my way around” / “Advanced”
Why: It includes people who train at home and makes the first two levels easier to distinguish.
Decision: [ ] Codex [ ] Grok v2 [ ] Antigravity v2 [ ] Keep current [ ] Custom
8. Benchmark lift
Current
- Question: “Which of these do you know best?”
- Helper: “I want one quick benchmark so I know where you’re starting from.”
- Options: “Bench Press” / “Back Squat” / “Deadlift” / “Skip this”
Grok v2
- Question: “Which lift do you know best?”
- Helper: “One benchmark helps set a smarter starting point.”
- Use sentence case for lift names.
Antigravity v2
- Question: “Which of these lifts do you know best?”
- Helper: “One quick benchmark so your starting weights make sense.”
- Keep the current options.
Codex recommendation
- Question: “Pick a lift you know well.”
- Helper: “One benchmark helps set your starting weights.”
- Options: “Bench press” / “Back squat” / “Deadlift” / “Skip this”
Why: It is clear, useful, and does not make the user feel tested.
Decision: [ ] Codex [ ] Grok v2 [ ] Antigravity v2 [ ] Keep current [ ] Custom
9. Benchmark weight
Current
- Question: “What weight can you do for 5 solid reps?”
- Helper: “Good form, no grinders. Just a useful starting point.”
- Placeholder: “60”
- Field label: “Weight for 5 reps”
- Transcript: “{weight} for 5 solid reps”
- CTA: “Continue”
Grok v2
- Keep the question.
- Helper: “Clean reps only. No grinders. Just a useful start.”
- Keep the field copy.
Antigravity v2
- Keep the question.
- Helper: “Good form, no grinders. Just a starting point.”
- Keep the field copy.
Codex recommendation
- Question: “What can you lift for 5 clean reps?”
- Helper: “Choose a weight you can repeat with good form.”
- Field label: “Weight” plus a visible “kg / lb” control.
- Transcript: “{weight} {unit} for 5 reps”
- Keep the placeholder and CTA.
Why: The instruction is easy to understand. A visible unit is required for trustworthy input.
Product requirement: Add or clearly infer units before using benchmark data.
Decision: [ ] Codex plus unit control [ ] Grok v2 [ ] Antigravity v2 [ ] Keep current [ ] Custom
10. Schedule
Current
- Question: “How predictable is your week right now?”
- Options: “Very routine” / “Mostly routine” / “Changes all the time”
- Reaction: “Perfect. That’s exactly where I help. When your week changes, I’ll adjust the plan with you.”
Grok v2
- Question: “How steady is your week right now?”
- Options: “Very routine” / “Mostly routine” / “Changes a lot”
- Reaction: “Got it. When your week shifts, we’ll adjust the session together.”
Antigravity v2
- Question: “How predictable is your week?”
- Keep the current options.
- Reaction: “Good. That’s where structured flexibility helps most. I’ll build the plan to move with your week.”
Codex recommendation
- Question: “How predictable is your week?”
- Options: “Very routine” / “Mostly routine” / “Changes a lot”
- Reaction: “That works. We’ll keep the plan flexible.”
Why: It accepts the user’s reality without treating a chaotic week as the answer Handler hoped to hear.
Decision: [ ] Codex [ ] Grok v2 [ ] Antigravity v2 [ ] Keep current [ ] Custom
11. Training frequency
Current
- Question: “How often do you want to train?”
- Helper: “You can pick a weekly target or lock in specific days.”
- Modes: “Times per week” / “Specific days”
- Choices: 2 through 6 or Mon through Sun
- Transcript: “{count} times per week” or selected days
- CTA: “Continue”
Grok v2
- Keep the question.
- Helper: “Choose a weekly target or pick the days you can keep.”
- Keep the remaining copy.
Antigravity v2
- Question: “How many days do you want to train?”
- Helper: “Pick a weekly number or lock in specific days.”
- Keep the remaining copy.
Codex recommendation
- Question: “How often do you want to train?”
- Helper: “Set a weekly target or choose your days.”
- Modes: “Weekly target” / “Choose days”
- Transcript: “{count} workouts per week” or selected days.
- Keep the choices and CTA.
Why: The controls become instantly clear while keeping commitment realistic.
Decision: [ ] Codex [ ] Grok v2 [ ] Antigravity v2 [ ] Keep current [ ] Custom
12. Main obstacle
Current
- Question: “What usually gets in the way?”
- Options: “Time” / “Motivation” / “Pain / soreness” / “Travel” / “Lack of structure”
Grok v2
- Keep all current copy.
Antigravity v2
- Keep the question.
- Change “Pain / soreness” to “Pain or soreness.”
Codex recommendation
- Question: “What gets in the way most?”
- Options: “Not enough time” / “Motivation” / “Pain or soreness” / “Travel” / “No clear plan”
Why: The options become more specific and easier to recognize as real problems.
Decision: [ ] Codex [ ] Grok v2 [ ] Antigravity v2 [ ] Keep current [ ] Custom
13. Training environment
Current
- Question: “Where do you usually train?”
- Helper: “I’ll use this to build the right setup and adapt sessions properly.”
- Large Gym: “Full commercial gyms with racks, cables, machines, barbells, and dumbbells.”
- Small Gym: “A smaller gym with the basics, but not every machine or setup.”
- Home Gym: “You have useful equipment at home, like dumbbells, a bench, bands, or a rack.”
- Hotel / Travel: “Limited setups, usually light dumbbells, a bench, and a few machines.”
- Bodyweight Only: “No real equipment. Sessions need to work with bodyweight only.”
Grok v2
- Question: “Where do you usually train?”
- Helper: “This shapes the exercise menu and how sessions adapt.”
- Tighten the home and bodyweight descriptions.
Antigravity v2
- Keep the question.
- Helper: “This shapes your exercise selection and how sessions are built.”
- Shorten all five environment descriptions.
Codex recommendation
- Question: “Where do you train most?”
- Helper: “Handler will only choose exercises your setup supports.”
- “Full gym”: “Racks, cables, machines, barbells, and dumbbells.”
- “Basic gym”: “The essentials, without every machine.”
- “Home gym”: “Dumbbells, a bench, bands, or a rack at home.”
- “Hotel or travel”: “Limited weights, a bench, or a few machines.”
- “Bodyweight only”: “No equipment.”
Why: The helper makes a concrete product promise and every choice is fast to scan.
Decision: [ ] Codex [ ] Grok v2 [ ] Antigravity v2 [ ] Keep current [ ] Custom
14. Pain areas
Current
- Question: “Do you ever get pain or recurring tightness anywhere during training or daily life?”
- Helper: “This helps me protect weak points and build around them properly.”
- Areas: “Shoulders” / “Knees” / “Lower back” / “Hips” / “Wrists” / “Neck”
- Empty CTA: “None of these”
- Selected CTA: “Continue”
- Reaction: “Good. I’ll treat those as areas to protect and strengthen, not something to ignore.”
Grok v2
- Question: “Any pain or recurring tightness during training or daily life?”
- Helper: “I’ll account for these areas and keep training productive.”
- Reaction: “Noted. I’ll protect those areas and keep building around them.”
Antigravity v2
- Question: “Do you get pain or recurring tightness during training or daily activity?”
- Helper: “This helps your trainer protect those areas and build around them.”
- Reaction: “Noted. I’ll factor those into exercise selection and loading from day one.”
Codex recommendation
- Question: “Any pain or tightness we should plan around?”
- Helper: “Handler can adjust exercise selection and loading.”
- Keep the current body-area choices and CTAs.
- Reaction: “Got it. I’ll factor that into your exercises and starting loads.”
- Safety footer: “For severe or ongoing pain, talk to a qualified professional.”
Why: This is specific about what Handler can do without implying diagnosis or treatment.
Product requirement: Add an “Other” path and a red-flag state for significant pain.
Decision: [ ] Codex [ ] Grok v2 [ ] Antigravity v2 [ ] Keep current [ ] Custom
15. Injury note
Current
- Question: “Anything I should be careful with right now?”
- Helper: “Example: left shoulder gets irritated on heavy pressing.”
- Empty transcript: “Nothing specific right now”
- CTA: “Continue” / “Skip for now”
Grok v2
- Keep all current copy.
Antigravity v2
- Question: “Anything I should work around right now?”
- Helper: “Example: left shoulder flares up on heavy pressing.”
- Keep the remaining copy.
Codex recommendation
- Question: “Anything else I should work around?”
- Helper: “For example: My left shoulder flares up during heavy pressing.”
- Keep the empty transcript and CTAs.
- Reuse the safety footer from Screen 14.
Why: “Work around” is active and practical without sounding medical.
Decision: [ ] Codex [ ] Grok v2 [ ] Antigravity v2 [ ] Keep current [ ] Custom
16. Coaching style
Current
- Question: “When things get tough, how do you want me to coach you?”
- Options: “Direct” / “Supportive” / “Balanced” / “Detailed”
Grok v2
- Question: “When training gets hard, how should I coach you?”
- Keep the current options.
Antigravity v2
- Question: “How do you want to be coached when things get hard?”
- Keep the current options.
Codex recommendation
- Question: “How should your trainer sound?”
- “Direct”: “Clear and straight to the point.”
- “Supportive”: “Encouraging when training gets hard.”
- “Balanced”: “A steady mix of both.”
- “Detailed”: “More context behind every call.”
Why: The labels are abstract without examples. One short line makes the choice real.
Product requirement: The option component needs support for descriptions. Confirm these styles match the coaching modes available after onboarding.
Decision: [ ] Codex [ ] Grok v2 [ ] Antigravity v2 [ ] Keep current [ ] Custom
17. Final context
Current
- Question: “Anything else I should know before I build your first block?”
- Helper: “Schedule, preferences, weak points, or anything else that matters.”
- Empty transcript: “Nothing else to add”
- CTA: “Build my plan” / “Skip for now”
Grok v2
- Question: “Anything else before I build your first block?”
- Helper: “Schedule quirks, preferences, weak points, or anything that matters.”
- Keep the current CTAs.
Antigravity v2
- Question: “Anything else before I build your first block?”
- Helper: “Schedule details, preferences, limitations, or context that matters.”
- Keep the current CTAs.
Codex recommendation
- Question: “Anything else your trainer should know?”
- Helper: “Preferences, schedule quirks, exercises you avoid, or anything that matters.”
- Empty transcript: “Nothing else to add”
- CTA: “Build my plan” / “Skip for now”
Why: It closes the consultation in natural language and makes the trainer relationship feel useful.
Decision: [ ] Codex [ ] Grok v2 [ ] Antigravity v2 [ ] Keep current [ ] Custom
18. Baselines
Current
- Loading: “Calibrating your setup” / “Pulling in the last few details your trainer needs before building your first block.”
- Eyebrow: “Last step before your plan”
- Title: “I just need a few baselines”
- Body: “This helps me calibrate your starting volume and progression properly.”
- Health import: “Use Apple Health” / “Import your basics if available, or enter them manually below.”
- Fields: “Age” / “Height (cm)” / “Weight (kg)”
- CTA: “Show me how you’d coach me”
- Error: “Apple Health Unavailable” / Expo Go message / manual-entry fallback
Grok v2
- Loading: “Setting your baselines” / “A few details help calibrate starting volume and progression.”
- Title: “A few baselines, then your plan”
- Body: “Age, height, and weight help set a safer starting load.”
- Keep the CTA.
- Grok incorrectly kept Expo Go in the error body.
Antigravity v2
- Loading: “Setting up your starting point” / “Your trainer needs a few numbers before building your plan.”
- Title: “A few baselines to get the numbers right”
- Body: “These help set your starting volume and progression.”
- CTA: “Show Me My Plan”
- Error: “Apple Health Unavailable” / “Apple Health import is not available in this build. Enter your numbers below.”
Codex recommendation
- Loading: “Setting your starting point” / “A few final details are up next.”
- Eyebrow: “One last step”
- Title: “A few final details”
- Body: “These help your trainer choose a sensible place to start.”
- Health import: “Import from Apple Health” / “Pull in these details, or enter them below.”
- Fields: “Age” / “Height” / “Weight” with locale-aware units.
- CTA: “See my plan”
- Error: “Couldn’t connect to Apple Health” / “Enter your details below to continue.”
Why: It removes technical language and keeps the user focused on the outcome.
Product requirements:
- Height is currently collected but not used by the training engine. Use it or remove it.
- Add metric and imperial support.
- Never expose Expo Go in production copy.
Decision: [ ] Codex [ ] Grok v2 [ ] Antigravity v2 [ ] Keep current [ ] Custom
19. Trainer readback
Current
- Loading: “Building your first block” / “Pulling your answers together so your trainer can show you the direction.”
- Eyebrow: “Trainer readback”
- Title: “Here’s how I’d coach you”
- Intro: “Before you commit, I want you to see that I actually got the brief.”
- Preview label: “What your first block will feel like”
- CTAs: “Save my trainer setup” / “Continue to pricing”
- Footer: “Your trainer will stay adjustable after signup too. If life changes, you’ll be able to just say it.”
- Dynamic summary: goal, experience, benchmark, obstacle, schedule, environment, pain, injury note, days, and coaching style.
Grok v2
- Loading: “Building your first block” / “Turning your answers into a clear starting plan.”
- Eyebrow: “Your coaching brief”
- Title: “Here’s how I’d coach you”
- Intro: “Before you start, here’s what I took from your answers.”
- Preview label: “Your first block”
- Footer: “You can keep adjusting after you start. Tell Handler what changed and the session updates.”
- Uses full-sentence dynamic summaries.
Antigravity v2
- Loading: “Building your plan” / “Connecting your answers to your first training block.”
- Eyebrow: “Your plan”
- Title: “Here’s what I’m building for you”
- Intro: “I want to make sure I got this right before we move forward.”
- Preview label: “Your first block”
- Footer: “You can update any of this after signup. If something changes, tell your trainer.”
- Uses labeled dynamic summaries.
Codex recommendation
- Loading: “Building your plan” / “Turning your answers into a clear starting point.”
- Eyebrow: “Your plan”
- Title: “Here’s where we start.”
- Intro: “Every choice below comes from what you told me.”
- Preview label: “Your first block”
- Signed-out CTA: “Save my plan”
- Signed-in CTA: “Continue”
- Footer: “Nothing is locked. Tell Handler when something changes.”
Recommended dynamic summary:
- Goal: “Goal: {Get stronger / Build muscle / Get leaner / General fitness}”
- Experience: “Experience: {Just starting / Learning the basics / Know my way around / Advanced}”
- Benchmark when provided: “Starting lift: {Bench press / Back squat / Deadlift}, {weight} {unit} for 5 reps”
- Obstacle: “Main obstacle: {Not enough time / Motivation / Pain or soreness / Travel / No clear plan}”
- Schedule: “Schedule: {Very routine / Mostly routine / Changes a lot}”
- Environment: “Training setup: {Full gym / Basic gym / Home gym / Hotel or travel / Bodyweight only}”
- Pain when provided: “Plan around: {areas}”
- Injury note when provided: “Keep in mind: {injury note}”
- Closing line: “{count} workouts each week with {direct / supportive / balanced / detailed} coaching.”
Recommended preview bullets:
- “{count} workouts each week”
- “Strength focus” / “Muscle-building focus” / “Leaner training focus” / “General fitness focus”
- “{Direct / Supportive / Balanced / Detailed} coaching”
- “Adjusted around {areas}” or “Flexible when your week changes”
Why: The labeled format proves Handler listened and is much easier to scan than a stack of generated paragraphs.
Product recommendation: The readback should visually pair each important answer with the plan decision it changes. Copy alone cannot provide that proof.
Decision: [ ] Codex [ ] Grok v2 [ ] Antigravity v2 [ ] Keep current [ ] Custom
20. Create account
Current
- Eyebrow: “Save your trainer setup”
- Title: “Create your account”
- Body: “This locks in your intake, your first block, and the trainer relationship you just set up.”
- Fields: “Email” / “Password”
- CTA: “Save and continue”
- Loading: “Working...”
- Switch: “Already have an account? Sign in”
Grok v2
- Body: “This saves your intake, your first block, and the coaching setup you just built.”
- Loading: “Saving...”
- Keep the remaining copy.
Antigravity v2
- Eyebrow: “Save your setup”
- Body: “This saves your intake and your first training block so your trainer can start coaching.”
- Loading: “Saving...”
Codex recommendation
- Eyebrow: “Save your setup”
- Title: “Create your account”
- Body: “Your intake and training setup will be here when you come back.”
- Keep “Email,” “Password,” and the sign-in switch.
- CTA: “Create account”
- Loading: “Creating account...”
Why: It explains the value in plain language and makes the button match the action.
Decision: [ ] Codex [ ] Grok v2 [ ] Antigravity v2 [ ] Keep current [ ] Custom
21. Sign in
Current
- Eyebrow: “Save your trainer setup”
- Title: “Sign back in”
- Body: “Sign in to unlock your personalized plan and pick up where you left off.”
- Fields: “Email” / “Password”
- CTA: “Sign in and continue”
- Loading: “Working...”
- Switch: “Don't have an account yet? Create one”
- Errors: missing details and generic account setup failure.
Grok v2
- Title: “Sign back in”
- Body: “Sign in to keep your coaching setup and pick up where you left off.”
- Loading: “Signing in...”
Antigravity v2
- Eyebrow: “Welcome back”
- Title: “Sign in”
- Body: “Pick up where you left off with your trainer and your training plan.”
- Loading: “Signing in...”
Codex recommendation
- Eyebrow: “Welcome back”
- Title: “Sign in”
- Body: “Pick up where you left off.”
- Keep the fields, CTA, and account switch.
- Loading: “Signing in...”
- Missing-details error: “Enter your email and password to continue.”
- Sign-in error title: “Couldn’t sign in”
- Create-account error title on Screen 20: “Couldn’t create your account”
- Fallback: “Please try again.”
Why: Returning users do not need another sales pitch. They need a fast, calm path back in.
Decision: [ ] Codex [ ] Grok v2 [ ] Antigravity v2 [ ] Keep current [ ] Custom
22. Paywall
Current
- Title: “Start training with your coach”
- Body: “Your first block is personalized, adjustable, and set up to keep moving when life changes.”
- Section: “What you’re unlocking”
- Features: personalized block, real-time session changes, coach chat, and iMessage coaching.
- Monthly: “Flexible monthly access” / “$14.99/mo”
- Annual: “Best value if you want a real coaching run” / “$8.99/mo”
- CTA: “Start 7-Day Free Trial”
- Footer: “Cancel anytime. Your trainer setup and first block are ready as soon as you start.”
- Error: “Setup Incomplete” / program setup failure.
Grok v2
- Title: “Start training with your coach”
- Body: “Your first block is ready. Clear sessions, smart adjustments, and coach chat when you need it.”
- Section: “Included when you start”
- Features: first block, session changes, coach chat, and progress tracking.
- Keep the current plan labels and CTA.
Antigravity v2
- Title: “Your plan is ready”
- Body: “A structured training block built from your answers, with a coach that adjusts when things change.”
- Section: “What’s included”
- Features: structured block, adapting sessions, coach chat, and ongoing coaching.
- Keep the current plan labels and CTA.
Codex recommendation
- Title: “Your plan is ready.”
- Body: “Start training with a block based on your goals, schedule, and setup.”
- Section: “Everything you need to keep training”
- Feature 1: “A structured block based on your goals”
- Feature 2: “A clear next workout every time”
- Feature 3: “Sessions that adjust to time, equipment, soreness, or pain”
- Feature 4: “Coach chat grounded in your plan and progress”
- Monthly: “Monthly” / “Flexible month to month” / localized price
- Annual: “Annual” / “Best value for consistent training” / localized monthly equivalent and annual billed total
- CTA after billing is live: “Start my free trial”
- Renewal footer: “Free for 7 days, then {localized price and billing period} unless canceled before renewal.”
- Links: “Restore purchases” / “Terms of Use” / “Privacy Policy”
- Error: “We couldn’t finish your plan” / “Try again to continue.”
Why: The ready plan becomes the conversion event. The feature list sells clarity, adaptation, and context instead of generic personalization.
Critical product truth:
- The current button does not start a real subscription or trial. It marks onboarding complete and enters the app.
- Do not ship free-trial copy until the purchase flow is connected.
- Remove iMessage from the paywall.
- Use StoreKit or RevenueCat localized pricing rather than hard-coded prices.
Decision: [ ] Codex [ ] Grok v2 [ ] Antigravity v2 [ ] Keep current [ ] Custom
Highest-leverage decisions
- Approve the three-slide opening as one sequence, not three unrelated slogans.
- Remove iMessage and free-trial claims that the current build does not deliver.
- Make the intake shell feel like plan building, not data collection.
- Add units, coaching-style descriptions, and pain safety states.
- Redesign the readback around answer-to-decision proof.
- Let the paywall sell a ready plan and a clear next workout.
Codex verdict
The strongest Handler voice is not louder marketing. It is confident product truth.
The user should leave onboarding believing three things:
- I will know what to do next.
- My training can adjust without falling apart.
- My trainer understands the plan I am following.
That is a stronger position than “AI workout generator,” “personalized fitness,” or generic coaching language.