WO-02 · Active iOS prototype · In progress

Can an AI coach feel like it is listening?

I’m building a two-week training experience where a coach can adjust the plan and turn each workout into progress across a campaign.

In active developmentThe interface, campaign, workout logging, and progression systems are working. The AI model is not connected yet, and guided workout tutorials currently use placeholders.

Week one campaign map in Workout!
Role
Solo design + development
Timeline
Ongoing
Tools
Figma + Xcode + Claude + Paper
Status
Active prototype

Learning goals

Six open questions guide the build.

  1. G1Connect an AI model to a native app and turn its output into product behavior.In progress
  2. G2Design a clear interface between a person and the model.Explored
  3. G3Use feedback and microinteractions to make the coach feel attentive.Explored
  4. G4Connect individual workouts through a progression system.Shown
  5. G5Create a character and home base that grow with the user.Shown
  6. G6Compare effort-earned and currency-based rewards.Planned test

01 / Coach

The coach belongs inside the campaign.

The prototype presents the coach as part of the campaign world rather than a separate assistant tab. It offers a relevant next step, responds to campaign context, and reduces typing through guided responses.

Prototype limitationThis flow currently uses scripted responses while the model connection is being developed.

The in-world advisor in Workout!
An in-world voice rather than a generic assistant surface.
Week two campaign map
The future plan output is designed to become the campaign map.

02 / Workout

Check in without interrupting the workout.

Workout logging is functional. Feedback between sets stays focused on one quick question so the interaction does not turn into a chat session.

Logging a goblet squat set
Real weight and reps remain the center of the interaction.
Rest screen asking how the set felt
A tappable check-in reduces interpretation and typing.

03 / Progression

Each completed workout changes the character and base.

Visible progress is tied to completed workouts rather than punishing missed days. Finishing a campaign upgrades the keep and opens another authored world.

Upgraded campaign stronghold
The keep has twelve visual levels.
Fourteen campaign realms
Fourteen campaign settings extend the system beyond one map.

04 / The contract

What the coach may be asked, and what it may answer.

Building the systems around the coach decided what it can be asked and what it may answer. This is the contract the interface already assumes.

The app sends

  • Plan state — campaign week, current realm, sessions completed
  • Last session — exercise, sets x reps x load, completion, strikes landed
  • How it felt — the rest and effort signal captured after each set
  • Constraints — equipment to hand, time available, days left in the campaign

The reply must be

  • One proposed change: adjust load, swap an exercise, change volume, or hold
  • A single line of reasoning, in the advisor voice the campaign uses
  • A confidence, so a weak suggestion can present itself as one
  • A refusal when the ask is unsafe or outside training

The rule that matters mostNothing applies automatically. Every proposal is a suggestion the user accepts, edits or ignores, and the plan is unchanged until they do.

The Workout! screen where effort and rest are recorded after a set
Where the effort and rest signal is captured — one of the four inputs above.

05 / Measurement

The first thing worth testing is not whether the advice is good.

When the model is connected, what matters first is whether the agent is bearable to work with. Each measure below names the question and how it would actually be counted.

Plan accuracy

Does the plan it produces match what the person actually chose during onboarding?

Count the plan properties that contradict a stated choice, per generated plan.

Edit friction

When the plan is wrong, how hard is it to change?

Steps and elapsed time from noticing a problem to an accepted correction.

Answering questions

If someone asks why a session changed, do they get an answer they can act on?

Share of questions resolved in one reply, without the user rephrasing.

How the waiting feels

Planning, editing and plain conversation each make you wait. Which waits feel too long?

Time to first visible response per interaction type, against whether the person abandoned or interrupted it.

Current boundary

The interaction is being tested before the intelligence is claimed.

The product shell, campaign, logging, and progression are working. A connected model, model evaluation, safety behavior, and external usability evidence remain future work. This page intentionally does not present those questions as solved.