One figure, built from what you logged
Your avatar’s body comes from seven attributes across training, nutrition and health, plus a short-window layer of sleep, recovery and readiness that can add polish and cannot take it away. An attribute you have no data for shows as a prompt to start it, not a penalty.
Seven attributes, three modules
Strength and Size come from Training. Fuel and Nourishment come from Nutrition. Endurance, Recovery and Resilience come from Health. Each is scored from a signal MuscleBuddy already computes, banded on the same tier ladder as your muscle and nutrition ranks, and grouped under the module that moves it.
Open an attribute to see its inputs. Strength reads what you can move on the big lifts relative to your bodyweight, age and sex. Size reads your logged training volume per muscle against what your plan prescribes. Resilience reads the bloodwork markers you have tested against their reference ranges. An attribute with nothing logged shows a prompt telling you what would start it, not a zero. With no bloodwork on file, Resilience has nothing to score yet.
Strength and Size move slowly on purpose. One empty training week does not lower either. Strength holds its last measured value until your session logs show a real layoff, and Size decays only once your trailing volume falls below your own maintenance threshold, and not during a deload, taper or illness window the app prescribed.
Shape: a short-window layer that only ever adds
On top of the slow attributes sits Shape: four channels (sleep debt, recovery, fullness and readiness) read from the last one to two weeks and shown as posture, a little visual polish, and one line of text. Shape can improve how the figure carries itself. It cannot shrink a muscle or widen a waist, and it leaves the rank-derived body underneath alone.
Each channel fades toward no effect, not toward a penalty, so a stale reading and a bad one look the same. When a channel's input changed for a known reason (a prescribed deload, a diet break, travel across time zones, the luteal phase), the channel holds instead of fading. A card view lists each channel as text, the same rows a screen reader announces, so you can read your numbers without interpreting the drawing.
Per-muscle readiness, and the ghost of your own plan
Each muscle shows recovering, ready, or nothing, read from your training volume against your recovery signals. A muscle with no logged session in the window shows nothing instead of a false "100% recovered", and a muscle with an active pain flag is not marked ready however long it has rested.
Beside your figure stands a ghost: a translucent outline of the figure you would have if you followed your current plan in full. It projects only targets you already set (your macro targets and your prescribed training volume) and merges into your figure as you close the gap. The gap between them is your optimization score, the share of your own plan you are capturing. Its targets are floored at published minimums, so cutting your training volume cannot raise the score. A beginner running an easy plan can sit near 100% while a strong lifter who sleeps badly sits at 60%, so the score stays off leaderboards.
The room your buddy stands in
A small diorama of your gym sits on your profile, built from your equipment list. It grows with tenure, lifetime sessions and distinct weeks trained, from a corner to a garage, a basement and then a warehouse. It does not shrink for a bad month, an injury or a layoff: your figure shows how strong you are now, and the room shows how long you have kept showing up. Visitors see generic equipment silhouettes and how long you have trained, not your gym's name, location or exact gear, and one toggle hides the room.
Reaching a new room tier or attribute tier earns a milestone card, a before-and-after snapshot from your own history that you can share. A day with no snapshot on file shows a no-data marker.
How it reads the rest of the system
The avatar stores no data of its own; it draws what the other modules produce. Training feeds Strength, Size and the per-muscle readiness diagram. Nutrition feeds Fuel, Nourishment and part of Fullness. Health feeds Endurance, Recovery, Resilience and the rest of Shape. Upkeep drives no body channel, though the deloads, diet breaks and travel that hold a Shape channel are the kind of schedule Upkeep tracks. Change your training volume, log a panel, or hit your macros for a week and the figure moves, because it reads the same numbers as your ranks, your recap and your coach's dashboard.
Frequently asked
- Is any of this a guess or an AI-generated image?
No. Each attribute, channel and ghost projection comes from a rule reading your logged training, food and health data. No AI model draws or scores the figure.
- Can a bad week or a missed workout shrink my figure?
No. Shape, the short-window layer, can only add polish, and it leaves the rank-derived body alone. Strength and Size hold steady through a normal gap and do not decay during a prescribed deload, taper or illness window.
- What if I have no bloodwork or cardio logged?
Resilience or Endurance shows a prompt with what to log to start it, not a zero. An attribute with nothing behind it drops out of your Overall score instead of dragging it down.
- Who can see my figure and my gym room?
Attribute visibility follows your privacy settings for training, nutrition and health. The gym room shows generic silhouettes instead of your gym's name, location and exact equipment, and one toggle hides it from every viewer, coaches included.
- What is the ghost outline next to my figure?
It projects the figure you'd have if you followed your current plan in full, built only from targets you already set. It is not a prediction of what your body will do; it shows how much of your own plan you are capturing.
See your training, nutrition, and health in one figure
Log a workout, a meal or a check-in and your figure starts filling in. Free: the figure, its attributes, and the muscle and nutrition ranks behind them.