AWESOMEBODY

PR!
Welcome - let's set you up
A few quick questions to personalise your experience. You can change everything in Settings later.
Used to calculate age-adjusted insights. Stored securely on your server, never shared.
cm
kg
Pre-filled from your most recent weigh-in. Used to calculate a personalised calorie target.
Used to contextualise your progress against training tenure - e.g. "3 months in". Leave blank if unsure.
Your fitness baseline
Helps the AI contextualise your data and give more relevant observations.
Base diet - pick one
Pescatarian = fish & seafood, no poultry or red meat  ·  Pollotarian = poultry only, no fish or red meat  ·  Poultry & fish only = no red meat or pork
Additional dietary needs - pick any that apply
These stack with your base diet - e.g. Vegetarian + Gluten-free.
Supplements you take
Tick what you already take - we'll add them to your tracker. You can adjust doses and add more any time.
Add a custom supplement
Your training split
AwesomeBody follows a configurable training cycle. How would you like to start?
Weight training - 6-day Upper/Lower split
Upper A → Lower A → Rest → Upper B → Lower B → Rest. Good for building muscle and strength, training 4–5× / week.
Cardio & endurance focus
Run · Cycle · Swim · Walk schedule. Tracks pace, distance, and duration. Great for runners, cyclists, and cardio-focused users.
General fitness & wellness (3–4× / week)
A relaxed mix of weights, cardio, and rest. Good for general health goals, beginners, or those returning from a break.
I'll set up my own schedule
Open the Split Builder after setup to define your own cycle - any length, any exercises.
Skip for now - I just want to track food / weight
No training schedule. You can set one up any time later in Training → Split Builder.
🎉
You're all set!
Your profile is saved. Start logging your first session - the dashboard will come alive as you add data.
You can re-run this setup any time from Settings → Profile. Head to the Help page for a full walkthrough of every feature.
Bodyweight (kg)
Body fat %
Daily calories · ── protein (g, right axis)
Lift progression
Lift history · all exercises
Smart food entry SHIFT + ENTER FOR NEW LINE AI-powered · describe or paste label text · Enter to analyse
Supplements
Log a set
Reps save automatically as you type and on every field exit. Use to browse past dates and log anything you missed. ✓ saved
Session tonnage over time
Session history
Log weigh-in Photo your scale · AI reads all metrics
Add photo to extract metrics
✓ saved
Charts
Weight (kg)
Body fat %
Muscle mass (kg)
Water % · Visceral fat
BMI
Weigh-in log
DateWeightBody fatMuscleWaterVisceralBMIChange
Log measurements
✓ saved
Measurements log
Your photos
Select a pose, add a photo, and the AI checks your stance matches previous ones for fair comparison
Daily
Daily readiness
AI Coaching
Generates a personalised written coaching summary from your last 7 days of data. Once generated, you can give the analyst one follow-up context note (e.g. "I've been intentionally eating at a deficit") and request a re-analysis - this final version is then saved to Brief History. Previous briefs are stored so you can track how your coaching advice evolves over time.
Only anonymised numeric stats are sent to Anthropic - never your name, email, or any identifying information. You can review exactly what's sent before submitting. Regeneration is limited to once every 48 h; more frequent runs add no new signal. For ongoing conversation about your results, paste any brief into Claude.ai.
Brief history
Most recent first · click to expand
Body Composition
Goal program
Loading…
Tomorrow's predicted weight
Loading…
Body recomposition status
Loading…
Training
Training tenure & frequency
Loading…
Muscle group heat map
Loading…
Relative strength - daily tonnage per kg of bodyweight normalises for weight fluctuations
Injury & recovery
Enable injury tracking in Settings to see patterns here.
Nutrition
Calorie intelligence
Loading…
Supplement adherence
Log supplements in Nutrition to see your adherence here.
Patterns & Correlations
Your body's formula
Loading…
Wellness vs performance
Enable sleep or hydration tracking in Settings to see correlations here.
What works for you
Health Markers
Blood markers - trends
Log blood test results in Wellness → Blood Markers to see trends here.
Milestones
Your journey
Less
More
Profile Used for AI-personalised insights
Tracking modules
Units
Goals
Exercise catalogue Used in Training logs, Split Builder, and charts
Training
Supplement catalogue Logged daily in Nutrition · tracked in Insights
Drink presets One-tap logging on Nutrition page
My Foods Canonical values · ★ shown in history suggestions
Family plan
Notifications
Account
Log sleep
✓ saved
Hours slept
Sleep quality
Sleep log
🔒
Your data stays private - always
All Women's Health data - cycle dates, period length, menopause symptoms, HRT notes, and phase history - is stored exclusively on your own server and never transmitted to Anthropic, AwesomeBody support, or any third party. It is not included in AI coaching briefs unless you explicitly opt in (Settings → AI coaching brief → Include cycle phase). There is no way for this data to leave your server without your action.
Log cycle start (first day of period)
✓ saved
Welcome to AwesomeBody - this is a vast and feature-rich application. Please read the help sections relevant to your goals so you can get the absolute most from it. In particular, modules can be enabled or disabled from Settings to match exactly what you want to track - you don't have to use everything. Most importantly, please read the Privacy & GDPR section - we collect minimal data, are registered with the ICO, and your private health data is genuinely yours. We care deeply about this.
Quick navigation
What is AwesomeBody? Getting started Dashboard ◈ TL;DR View Nutrition Training Generate programme Training advice Scale Measurements Progress Photos Supplements Wellness Women's Health Injuries Blood Markers Insights Habits Readiness Score Personal Correlations Monthly Narrative Settings Units & locale iOS / iPad Apple Health Privacy & GDPR
What is AwesomeBody?

We named it AwesomeBody because everybody has an awesome body - and we're trying to help you make yours more awesome. Whether you're building strength, losing weight, improving your health, managing your wellness, or simply understanding your body better, AwesomeBody brings all of your data into one place and shows you what's actually working.

AwesomeBody is a personal health and fitness tracking web app that connects your training, nutrition, body weight & composition, measurements, supplements, sleep, hydration, and women's health - and shows you cross-domain insights linking all of them together. The more you log, the smarter it gets.

It runs as a web app - you access it through a browser or add it to your home screen on iPhone/iPad/Android for a full-screen, app-like experience. All your data is stored securely on your own ‘server’ - see the Privacy & GDPR section for details.

✨ New in 2026

Features that go well beyond standard fitness tracking:

  • Readiness Score - a 0–100 daily recovery score that combines sleep, resting HR, recent training load, mood/energy, and hydration. It's the first thing you see on both TL;DR and Insights, and also sits on your Dashboard stat bar. Computed on-device instantly, no AI required. So you know before you start whether today should be a max-effort session or a recovery day.
  • Personal Correlations - statistically-derived patterns in your data: does more sleep reliably mean heavier sessions for you? Does hitting your protein target the day before make a measurable difference? These are questions answered from your actual history using real statistical analysis, not generic advice.
  • Monthly Narrative - an AI-written plain-English story of your month, across all streams. Generated on demand for any past month. After a few months of consistent logging, reading back through your monthly narratives is one of the most motivating things you can do.
  • Split Groups - run multiple named training splits simultaneously and switch between them in seconds. Create a "Cutting phase" split, a "Bulk phase" split, a "Deload week" split - each with its own set of days, exercises, and programming. When you switch, you choose whether to start from Day 1 or continue from where you are in the cycle. Perfect for anyone who periodises their training or wants to be able to instantly pivot their programme without losing their existing setup. The AI programme generator creates a new split group when you apply a phase - so your current training is never overwritten.
  • Unified Programme Builder - the AI training plan generator and the curated programme library (PPL, StrongLifts, Bro Split, and more) are now combined in one three-tab modal: AI Generate, Library, and History. One place for everything training-plan related.
  • Collapsible & reorderable dashboard cards - every card on the Dashboard, Training, and Insights pages can be collapsed (click the ▼ next to the title) and dragged into any order you want. The layout and collapsed state persist across sessions and devices so you only ever see what matters to you.
  • Muscle map - the Training page shows a live front/back body diagram that lights up in green as you log sets. Primary muscles glow bright, secondary muscles glow dim. Falls back to your most recent session if today is empty. Custom and spontaneous exercises are matched by name keyword.
  • Smart rest timer - after every weights set you log, a countdown banner auto-starts at the bottom of the screen. In Smart mode it uses the Epley formula to estimate how hard the set was relative to your best historical max for that exercise, then picks the right rest duration - 5 minutes after a near-max squat, 60 seconds after a light accessory. The banner labels the intensity band (e.g. Heavy · 71 kg ≈ 85% e1RM · Squats). Switch to Fixed (same duration for all sets) or Off in Settings → Training. Beeps three ascending tones and vibrates when rest is complete.
  • Training readiness banner - the today card on the Training page shows a readiness level (High / Mid / Low) and a specific tip based on last night's sleep, mood/energy, and HRV. So you know before your first set whether today calls for PBs or a sensible back-off.
  • Light-session tonnage filter - set a minimum tonnage threshold in Settings → Training. Sessions below it (e.g. a light curl day on a rest day) are excluded from the tonnage trend chart entirely - no dot, no gap, no trend distortion. Default 1 tonne; configurable or off.
📱 For the best experience - what you'll want

While AwesomeBody works on any device, a smartphone with a camera unlocks its most powerful features: photographing food labels, snapping your scale display, taking progress photos, and logging on the go. AwesomeBody works on both iOS and Android - the camera and photo library features are fully supported on both platforms.

For the richest body composition data, a smart scale (one that measures body fat %, muscle mass, visceral fat, bone mass, water %, metabolic age and BMR) is ideal. AwesomeBody was built and tested with a Healthkeep scale, but any smart scale that produces those metrics will work perfectly - Renpho, Garmin, Withings, Xiaomi, and similar brands are all fine. You can photograph the scale display directly or take a screenshot of your scale app, and AwesomeBody reads the numbers automatically.

Tip: AwesomeBody works best when you log consistently - even partial data gives the Insights engine useful patterns to work with. You don't have to be perfect. Start with what feels easy and add more over time.
🐛 Report a bug · 💡 Request a feature

We've tried our level best to build the best possible application for your health journey. But bugs happen - if you see something that doesn't work as it should, please let us know. And if you've spotted a feature we've missed or something that would make a real difference to how you use the app, we want to hear that too. Contact us at - every report is genuinely read and acted on.

👁 Try a sample account - see a full year of data

Want to see what AwesomeBody looks like fully loaded - charts, insights, and all modules active? Load one of these read-only demo accounts. You can browse everything, but no data will be saved. Your own data is untouched and will be right here when you return.

Getting started - first-login setup

You'll only see this wizard once - the first time you log in. This section just explains what it covers, in case you want a refresher.

When a new user logs in for the first time, AwesomeBody automatically shows a short setup wizard. It takes 1–2 minutes and covers the things the app needs to personalise your experience and give you relevant AI insights.

What the wizard covers

Step 1 - Personal details. Your name (shown in the dashboard greeting), date of birth (used for age-adjusted AI insights - stored on your server, never shared), biological sex (used in calorie and body composition estimates), and when you started your current fitness journey (optional - sent to AI as a duration e.g. "12 weeks", never as the actual date, so tenure context is included without exposing personal timing).

Step 2 - Fitness level, goals & diet. Your current experience level and primary goals. Your dietary preference (vegan, vegetarian, pescatarian, pollotarian, poultry & fish only, no pork, or no restrictions) - the AI uses this to ensure all food suggestions and nutritional commentary are appropriate for you. Any additional health context you'd like the AI to factor in - injuries, medical conditions, allergies.

Step 3 - Supplements. Tick from a curated list of common supplements, set your doses, and add any custom ones. Everything you tick is added straight to your supplement tracker - no duplicate entry needed.

Step 4 - Training split. Choose the default 6-day Upper/Lower split, open the Split Builder to design your own cycle, or skip and configure it later.

Re-running the wizard

You can re-open the setup wizard any time from Settings → Profile. All fields are pre-filled from your saved profile so you can quickly update just what's changed.

Who sees it

Anyone signing in to their own account sees the wizard on first login. The exception is read-only viewer accounts - a viewer logs in to see someone else's data (with no ability to add or change anything) and has no profile of their own to set up, so the wizard doesn't apply to them.

Dashboard

Your at-a-glance summary of everything. The dashboard shows:

  • Today's training session - which split day is due, with exercises and your current logged weights (in kg or lb - see Settings → Units)
  • Body stats - current weight (in your chosen unit), body fat %, today's calories and protein
  • Readiness Score - your daily 0–100 recovery score (sleep + resting HR + training load + mood/energy + hydration), with colour-coded verdict. Tap to open the full breakdown on Insights.
  • Supplement status - which supplements you've taken today, tap to toggle
  • Weight chart - your weigh-in history with range selector (Week / Month / Year / All / Range)
  • Body fat chart - trends over time
  • Calorie & protein chart - daily nutrition history
  • Calories in vs out chart - appears once you log kcal burned on any session (weights or cardio); shows daily consumed (green), burned (red), and net calorie line (teal) side by side
  • Lift progress cards - key lifts with progress badges
TL;DR - Priority View
Everything on track at a glance - key metrics + trend graphs, no full logs

The ◈ TL;DR button sits in the top-right corner of every page. Tap it to switch to a focused summary of your health and fitness data - colour-coded metric cards for each module followed by a full set of sparkline trend graphs. It's designed for the moments when you want to see whether everything is on track without navigating through your individual logs.

⚡ Readiness Score at the top

The very first thing you see on TL;DR is a full-width Readiness Score card - your 0–100 daily recovery composite with a colour-coded verdict (Peak / Train well / Moderate intensity / Light session / Rest today) and five factor mini-bars showing the relative contribution of Sleep, Resting HR, Training load, Mood/energy, and Hydration. This gives you the single most important question answered the moment you open TL;DR: should I train hard today? Tap it to open the full breakdown on Insights.

Module summary cards

Below Readiness, a card for each active module shows the most relevant current value in large text with a one-line status below it - today's calories and protein, current weight and body fat, last night's sleep alongside steps and mood, and so on. Colour coding gives you an instant read: accent green means on track, amber is a gentle flag, and red means attention needed. Female users also see a Women's Health card showing current cycle phase or menopause symptom summary.

Trend graphs

Below the summary cards, TL;DR shows sparkline trend graphs grouped by category: Nutrition (calories & protein, last 14 days), Training (sessions & sets per session, last 28 days), Body (weight & body fat, last 28 days), Recovery (sleep, steps & mood, last 14 days), Women's Health (cycle phase, hot flushes, brain fog & mood - female users only), and Measurements (all your body measurements, most recent reading). Tap any sparkline card to jump directly to the full detail view for that metric.

Logging from TL;DR (Training)

On the Training page you can log sets directly from TL;DR without leaving the priority view. The TL;DR training card shows your current split day's exercise list with inline set-logging controls - tap an exercise, enter your weight and reps, and save. This means you can log a full session without ever switching back to Detail.

Returning to the full view

Tap the ⊞ Detail button (top-right, same position as ◈ TL;DR) to return to the full page view. Tapping any sparkline card also switches you back to Detail and navigates to that section automatically.

Nutrition

Log every meal and track calories, protein, carbs, fat, sugar, and salt. There are three ways to add food:

⚡ Smart lookup (AI-powered)

Describe what you ate or drank in plain English - including quantities and times - and press Analyse. For example: "at 8am I had 2 scrambled eggs with 2 slices of wholemeal toast", or "mug of black coffee with 1 sugar", or "500ml Huel Black Edition". The AI fills in all the nutrition values. You can then review and adjust before saving.

If you've logged the same item before, it appears as a clickable suggestion as you type - no AI call needed, just tap to fill the form instantly from your history.

💧 Log drinks here too - they auto-fill your hydration log

Whenever the system detects a drink (coffee, tea, Huel, protein shake, juice, water, etc.), a blue 💧 row appears automatically below the form. The volume is pre-estimated from your quantity field. Just confirm or adjust the ml and save - the entry is added to your hydration tracker automatically, with a timestamp, so you never have to double-enter drinks.

Photo lookup

Tap Photo to attach a photo of a nutrition label, a meal, or a food item. Any description you've typed is used as additional context. Press Analyse and the AI fills all values - works in any language. Always check the result before saving.

✎ Manual entry

Tap manual entry to type values directly. Use the date and time fields to log past meals.

Navigating days

Use the ← → arrows to move between days. The app always opens on today. Previous days are shown below collapsed - click any day to expand it. The food log resets to today automatically at midnight.

★ My Foods library

When you analyse a food item and the values are correct, tap ★ Save to My Foods to store the verified nutritional values in your personal food library. Items saved here are used as the authoritative source whenever you log that food again: the AI will always use your verified numbers instead of guessing, no matter how many times you log it.

This solves a common frustration: if the AI gave you a wrong calorie count the very first time you logged something and you saved it, every future lookup for that item would inherit the wrong value. The My Foods library breaks that cycle: once you save the correct values, they're locked in permanently.

Items already in your My Foods library show a star next to them in your daily food log so you can see at a glance which entries are using verified values.

⚑ Fixing wrong history entries

If you realise an item has been logged with wrong values across multiple past dates, select the item and use the ⚑ Fix all N entries button. This corrects every historical entry for that food name in one go: and saves the correct values to your My Foods library at the same time. There's no need to go back through your history manually.

Your complete My Foods library is visible and editable in Settings → My Foods. You can edit any item's values, delete items you no longer need, and the changes apply immediately to all future lookups.

Nutrition analysis

When you have food logged for the day, AwesomeBody analyses your macros against your body goal (set in Settings). It flags high sugar, high salt, low protein, and gives goal-specific guidance.

Weekly calorie balance chart ★

Below the daily analysis, a Mon–Sun bar chart shows each day's calorie intake against your target for the current ISO week. Bars are green when you're under target and amber/red when over. A running weekly surplus/deficit total appears below the chart so you can see at a glance whether you're on track across the whole week, not just today.

Copy day ★

A Copy day button appears in the food date controls when the current date has at least one entry. Tap it to open a small dialog, pick a target date, and all of today's food entries are duplicated to that date with new IDs. Useful for days when you eat the same thing as a previous day - log once, copy across.

Training day / rest day calorie targets ★

If you follow a Leangains-style approach with higher calories on training days and lower on rest days, set four values in Settings → Goals → Training day / rest day targets: separate calorie and protein targets for each. The food page then automatically detects whether you've logged training for the current date and shows the matching target. A small badge ("Training day" or "Rest day") confirms which target is active. If you haven't set split targets, the food page uses your standard single target as before.

Training

Log every training session. The app automatically tracks your split cycle and advances to the next day when you complete a session.

Date navigation - logging past sessions

The date field at the top of the training form has and buttons to step backwards and forwards by day. A label beneath the date shows Today, Yesterday, or X days ago so you always know where you are. The › button is disabled when you're already on today - you can't log future sessions. This is useful when a workout finishes after midnight, or when you want to catch up on a session you forgot to log. Tap any date and the form immediately loads any data already saved for that day.

Logging a set (weights)

Select an exercise, enter the date (defaults to today), your weight (in kg or lb - see Settings → Units), and reps. The app remembers your last logged weight for each exercise and auto-fills it in your chosen unit.

Spontaneous (off-split) exercises

Tap the + button (top right of the Training page) to log any exercise that isn't part of today's scheduled split - an extra set of pull-ups, a spontaneous cardio session, or a supplementary movement. The exercise is saved to today's date and appears in your training history alongside the planned session. Any spontaneous exercises you've logged before appear as quick-tap buttons under the + menu so you can add them in one tap next time.

Logging cardio

Cardio exercises (Walk, Run, Cycling, Swimming etc.) show duration or distance fields instead of weight/reps. For distance exercises, a live pace calculator shows your min/km or min/mi as you type.

RPE (Rate of Perceived Exertion): When logging a cardio exercise, you can also set an RPE from 1 (very easy / active recovery) to 10 (absolute max effort). This is optional - leave it blank if you prefer. RPE is stored alongside your cardio data and used in the Insights cardio analysis to understand training intensity over time. The scale is labelled as you type: 1–2 = Easy, 3–4 = Moderate, 5–6 = Hard, 7–8 = Very hard, 9–10 = Max.

Kcal burned: You can also log the calories burned during a cardio session - from your watch, treadmill readout, or fitness app. This is optional, but when filled in it enables the Calories in vs out chart on the Dashboard, which plots your daily calories consumed vs calories burned alongside a net calorie line. The chart only appears once you have at least one session with calories burned logged.

Cardio personal records (PRs)

The Insights page tracks your best-ever performance for each cardio exercise - longest distance, fastest pace per km/mi, and most minutes in a single session. These PRs update automatically as you log new sessions and are shown in the Cardio Performance insights card.

Split schedule

The app follows a training split cycle. The default is a 6-day Upper A / Lower A / Rest / Upper B / Lower B / Rest cycle. Each day's card shows which session is due and what exercises to do. When you log a session, the split advances to the next training day. You can also mark a day as a rest day using the Skip (rest day) button.

Open the Split Builder (⚙ button on the today card) to customise your cycle - any number of days, any exercises, rest days wherever you want them. Give each day a name and an optional subtitle (e.g. "Row Emphasis" or "Squat Focus"). Changes take effect immediately.

Split Groups - multiple splits at once ★
Why this is powerful: You can have completely different sets of exercises for different phases - a "Cutting" split with higher rep ranges and shorter rest, a "Bulk" split with heavier compound lifts, a "Deload" split with reduced volume - all saved side-by-side. Switch between them in two taps without losing anything.

The Split Groups panel appears at the top of the Split Builder. Each group is a fully independent training programme - its own days, its own exercises, its own day names and subtitles. The active group (marked ▶) is what drives your today card and tonnage tracking.

  • Create a group: tap + New group in the Split Builder. The new group starts as a copy of the default split - edit it however you like.
  • Rename a group: click the name text in the pill chip - it's editable inline.
  • Switch active group: tap Use on any non-active group. A dialog asks whether to start the new group from Day 1, or to continue from your current position in the cycle.
  • Edit a group's days: tap ✎ Edit on any group chip to load that group into the Split Builder below.
  • Delete a group: tap the × on a chip. You must have at least one group at all times.

When you apply a phase from the AI Programme Builder, it automatically creates a new group for that phase (e.g. "Strength 8wk - Phase 1") and makes it active. Your existing groups are untouched.

Programme Builder

The Generate programme button on the Training page opens the unified Programme Builder - a three-tab modal:

  • ⚡ AI Generate: configure duration (4 / 8 / 12 weeks), activity type (strength, hypertrophy, running, yoga, etc.), and days per week, then generate a personalised programme using AI. The AI uses your actual training history, maxes, and body data. No personal information is sent - only anonymous numeric stats.
  • 📚 Library: a curated collection of proven programmes - PPL, StrongLifts 5×5, Bro Split, Full-Body 3-day, and others. Each shows a summary card; tap to see the full programme detail and apply it.
  • 🕘 History: every AI programme you've previously generated. Switch between them using the date tabs at the top of the panel. Apply any phase from any previous programme - each application creates a new split group.
Missed sessions, holidays & unplanned rest

The split cycle is driven by your actual training history, not by the calendar - so missing a day never corrupts the schedule. If you miss a workout, that day simply becomes an unplanned rest day and the app picks up with the same session next time you train. The system will never insert a scheduled rest day for a day you already missed - it skips over any built-in rest days in the cycle and goes straight to the next workout that's due.

If you go on holiday or take a week off, every day you're not training is treated as recovery time. When you return, the app simply continues from where you left off - no "catching up" required and no phantom rest days are consumed. The cycle does not drift or fall out of sync regardless of how long the break is.

If the app ever shows the wrong day after a break or holiday, use the Wrong day? buttons in the today card to manually set the correct session. This syncs to all your devices instantly.

Lift history & tonnage

Browse your lift history chart and tonnage (total volume lifted) by exercise. Use the date range selector to zoom in on recent progress. All charts respect your chosen weight unit.

Session motivator bar

Once you start logging a session, a live bar appears on the today card showing your progress so far - and how it compares to the last time you did the same split day. For example:

  • Weights (kg): "2,340 kg lifted · ↑ 920 kg better than last Lower B 🤩"  /  (lb): "5,159 lb lifted · ↑ 2,028 lb better than last Lower B 🤩"
  • Running (km): "5.2 km covered · ↑ 0.8 km better than last Cardio 🤩"  /  (mi): "3.2 mi covered · ↑ 0.5 mi better than last Cardio 🤩"
  • Duration cardio: "45 min trained · ↑ 10 min better than last Swim 🤩" (duration is always in minutes - unaffected by unit setting)

If you're behind on any metric, the delta is highlighted in amber so you know to push harder. Mixed sessions (e.g. weights + cardio) show all metrics side by side. All figures respect your chosen units setting.

Smart rest timer ★
How it works: After every weights set you log, a countdown banner slides up from the bottom of the screen. By default it uses Smart mode - it looks at what you just lifted and automatically picks the right rest duration for that specific set. Heavy compound lifts get longer rest; lighter accessory work gets shorter rest. When the time is up it beeps three times and vibrates.

What's Epley e1RM? Every time you log a set, the app uses a simple formula called the Epley equation to estimate what your one-rep max would be for that exercise on that day - based on the weight you used and the number of reps you did. For example, if you did 8 reps at 70 kg, the formula estimates your max at roughly 89 kg. (The exact maths: estimated max = weight × (1 + reps ÷ 30).) The app also looks back through your entire history to find the best estimated max you've ever hit for that exercise, and uses the higher of the two as the ceiling - so a single easy warm-up set never makes a later heavy set look lighter than it is.

What are NSCA bands? The NSCA (National Strength and Conditioning Association) publishes evidence-based guidelines on how long to rest between sets depending on how hard the set was relative to your max. AwesomeBody uses five bands:

Intensity What that looks like Rest
≥ 90% of max1–3 reps - true near-max effort5 min
78 – 90%4–5 reps - heavy strength work3 min
65 – 78%5–8 reps - hypertrophy range2:30
50 – 65%8–12 reps - endurance/tone90 s
Below 50%12+ reps - light / warm-up60 s

The banner shows you the detected category (e.g. Heavy · 71 kg ≈ 85% e1RM · Squats) so you know exactly why that rest time was chosen. If the app can't calculate intensity - for example because no weight is detected in the log - it falls back to the fixed duration you've set.

Readiness recommendation: The today card on the Training page shows a readiness banner based on last night's sleep quality and duration, your mood and energy, and your HRV (heart rate variability) if you track it. A high-readiness day suggests pushing harder; a low-readiness day suggests backing off and taking longer rest. The banner includes a specific training tip for your situation.

Override / customise the timer: You have full control at two levels:

1. Global default - Settings → Training → Auto rest timer:

  • Smart (default): the app calculates rest duration from intensity - different for every set, different for every exercise. Your 71 kg squats will get a longer rest than your 10 kg lateral raises.
  • Fixed: set one specific duration (e.g. 90 seconds) and every set of every exercise gets that same countdown. Good if you're on a timed circuit programme or simply prefer consistency.
  • Off: disables the auto-start completely. The manual rest timer card on the Training page still works - you can start it by hand whenever you want.

2. Per-exercise override - Split Builder:

Open the Split Builder (⚙ on the today card) and use the Rest (min) field on any exercise row to pin a specific rest time for that exercise. This always takes priority over whichever global mode you've set in Settings - Smart or Fixed - for that exercise only. Leave the field blank and the exercise falls back to your Settings default. The rest timer banner will show Split override and confirm it is overriding your Smart or Fixed setting. Examples: set Squats to 3 min and Lateral Raises to 1 min while everything else continues to use Smart mode.

You can also add time to a running countdown using the +1 min / +30 s buttons on the banner if you need a bit more recovery, or dismiss it early with ✕ Skip.

Progressive overload prompts ★

When you select an exercise, a card appears above the weight input showing what you lifted in your last session - sets, reps, and weight - alongside a suggested next step (typically +2.5 kg when you completed all sets cleanly). This gives you a concrete target before you pick up the bar, without having to dig through your history.

The prompt is dismissable with × if you don't need it. It doesn't appear for cardio (duration or distance exercises) since those don't use the same progressive loading logic. Turn it on or off in Settings → Training → Progressive overload prompts.

Session timer ★

A manual session timer sits below the session summary on the Training page. Tap Start when you begin and Stop when you finish. It does not auto-start — this is intentional for people who train in multiple windows across the day rather than in one continuous block. Enable it in Settings → Training → Session timer.

Light-session filter for tonnage charts

The tonnage trend chart tracks how much total weight you're lifting per session over time. If you add a light accessory exercise on a scheduled rest day (e.g. some curls on a recovery day), that session's tonnage will be far below a real training day - and including it would artificially drag the trend downward and make it look like your volume is dropping.

The Light session threshold setting (Settings → Training → Tonnage chart) lets you set a minimum tonnage - sessions below that number are simply excluded from the chart entirely, with no dot and no gap. The default is 1,000 kg. You can set it to Off (include everything), or choose 500 kg / 1 t / 1.5 t / 2 t / 3 t. Pick whatever separates your real training days from your recovery extras.

Scale & Weigh-in
Where to find it: Open Measurements in the sidebar, then click the ⚖ Scale tab at the top of the page.

Log your daily weigh-in with weight (in kg or lb - set in Settings → Units), BMI, and body fat %. If you have a smart scale that shows additional metrics (muscle mass, bone mass, water %, visceral fat, metabolic age, BMR), enter those too. The history table, charts, and deltas all display in your chosen unit.

AI extraction: Instead of typing the numbers, use the photo buttons to send the AI a photo of your scale display - or a screenshot from your smart scale app (Healthkeep, Renpho, Garmin Connect, Withings, etc.). The AI reads all the metrics and fills the form automatically.

BMI health bands

The BMI chart on the Scale page includes colour-coded health bands so you can see how your BMI sits relative to clinical ranges at a glance:

🔵 Underweight - BMI < 18.5 🟢 Normal - 18.5–24.9 🟡 Overweight - 25–29.9 🔴 Obese - BMI ≥ 30

In the weigh-in history table, each BMI value also shows a small category label (UW / NW / OW / OB) in the corresponding colour so you can quickly scan your trend.

Best practice: weigh yourself first thing in the morning, after using the bathroom, before eating or drinking. This gives the most consistent readings over time.

Measurements
Tab strip: The Measurements page has a ⚖ Scale / 📏 Measurements tab strip at the top, switch between them with the tabs.

Log tape measurements (in cm) and strength metrics (in kg) - each metric gets its own trend chart and history table. Delta arrows show the change from your previous entry.

Built-in metrics: The app comes with all the standard tape measurements (belly, chest, biceps, forearms, thighs, calves, neck, waist, hips) plus Grip strength (L) and Grip strength (R) - logged in kg, one field per hand. Grip strength is a well-established predictor of overall health and longevity, so tracking it over time is worthwhile. Use a handheld dynamometer for accurate, repeatable readings.

Personal bests on charts: Each chart marks your best achievement with a gold ★ star and your opposite extreme with a grey triangle reference marker. The app knows which direction counts as progress: for belly, waist, and hips a smaller number is the win; for tensed biceps and grip strength a larger number is the win - so the ★ always lands on the right point. The y-axis unit also matches the metric (cm for tape measurements, kg for grip strength).

Backdating & editing: The date field defaults to today but is freely editable - change it to any past date to log historical measurements. To edit an existing entry, tap the ✎ pencil button on any row in the history table; the form loads that entry's values and date so you can correct or add to them.

Manage metrics & direction: Tap the ⚙ Manage button above the log form to add or remove metrics. Each metric chip shows its unit badge (cm or kg) and a ↓ lower or ↑ higher pill - tap the pill to flip the direction for any metric. The app pre-sets sensible defaults but you're in charge.
Progress Photos

Add a progress photo with + Add photo. Choose a pose (Front, Back, Side L, Side R) then take a photo with your camera, choose from your library, or upload a file. If you have a previous photo of the same pose, the AI checks that your angle, distance, and arm position are consistent and gives you brief guidance if they're off: so your comparisons are actually meaningful.

Each photo is automatically tagged with your current weight, body fat, muscle mass, 7-day average protein and calories, and recent training volume: so the photo becomes a data point, not just a picture. Tap any photo to open it and compare it side-by-side with the previous one. Use Ask AI to analyse change to get a specific, honest observation of what has visibly changed.

Photo privacy: absolute guarantee

Your progress photos are stored in an encrypted, private Supabase Storage bucket (AES-256 at rest, TLS in transit). Access requires a short-lived signed URL that is generated on demand only for your authenticated session: the URL is never logged or cached by AwesomeBody.

Photos are never included in data exports. When you download your data from Settings → Your data, the export contains your health logs, settings, and profile: not your photos or any reference that could be used to retrieve them.

Support cannot access your photos. The in-app support access toggle in Settings → Privacy controls export of your structured data only. Even when that toggle is on, progress photos are architecturally excluded. AwesomeBody support has no mechanism to view, download, or transmit your photos: not through any app function, admin tool, or export.

The only way your photos can be seen is by you, in your authenticated browser session. When you use Ask AI to analyse change, only the two photos you explicitly select are sent to Anthropic: they are retained by Anthropic for up to 30 days for safety purposes, then automatically deleted, and are never used to train AI models.

Supplements

Track your daily supplement intake on the Nutrition page - the supplement panel appears between the macro summary and the food log. Each supplement shows as a pill - tap to toggle taken/not taken. You can also adjust the dose for a specific day.

History view: Past days in the Nutrition page now show a supplement summary in the day header (e.g. "✓ 5/5 supps"). Expand any day to see which supplements were taken and at what dose, alongside the food log.

Manage supplements in Settings → Supplements. Add any supplement with a default dose and unit (g, mg, µg, ml, IU etc.).

Insights: The Insights page shows 30-day adherence bars, current streak, and includes supplement adherence in the weekly AI coaching brief.

Insights
Two tabs: The Insights page has a ✦ Analysis / ⊞ Habits tab strip at the top. Analysis is the deep cross-domain intelligence view; Habits is the year-at-a-glance consistency heatmap, switch between them with the tabs.

The Insights page cross-references all your data to surface meaningful patterns across every domain. The more modules you enable and the more consistently you log, the more the correlations reveal about how your body works.

  • Tomorrow's weight prediction - based on today's calorie surplus/deficit, salt intake, and training load
  • Body recomposition status - simultaneously losing fat and building muscle? The app detects it
  • Relative strength chart - tonnage relative to bodyweight, normalising for weight fluctuations
  • Your body's formula - which macros and at which lag most predict your lift performance
  • Wellness vs performance - sleep, hydration, mood, energy, stress, daily steps, and resting HR all correlated against next-day or same-day training tonnage
  • Supplement adherence - 30-day adherence bars and streak per supplement
  • Injury & recovery - active injuries, 30-day trend, most affected body parts, severity patterns
  • Blood markers - trends - each marker with 2+ readings shows direction (↑ ↓ →) across tests
  • Cardio performance - 30-day total cardio volume, average session intensity by exercise type, and personal records (longest distance, fastest pace, most minutes). PRs are tracked separately per exercise. Requires at least one cardio exercise logged.
  • Cycle phase performance (Female profiles only) - average training tonnage, cardio output, and wellness scores grouped by cycle phase (Menstrual / Follicular / Ovulation / Luteal). Shows how each phase of your cycle objectively correlates with your output over time, plus a regularity indicator for average cycle length.
  • BMI intelligence - your BMI trend over time with health band context (Underweight / Normal / Overweight / Obese), plus a 30-day delta and narrative. Only visible when you have weigh-in data with BMI entries.
  • Calorie intelligence - 30-day analysis of calorie adherence vs your goal zone (which adjusts for your body goal - cutting, recomp, bulking, etc.), protein target consistency, and eating pattern trends. Calorie zone is TDEE-calibrated using your set targets.
  • Training tenure & frequency - how long you've been training overall, sessions per week over the last 4 weeks vs the prior 4, trend direction, and a bar chart of weekly frequency across your chosen date range.
  • Weekly AI coaching brief - Claude reads your whole week across all streams and writes a coach-like summary with one actionable suggestion. Rest days - whether planned, missed sessions, or a holiday - are included in the picture, so the brief reflects your actual recovery pattern, not just training days.
  • Readiness Score - a 0–100 composite of sleep, resting HR, recent training load, mood/energy, and hydration that tells you how recovered your body is before today's session. This is the first card at the top of the Insights page - the number you see before anything else. Also appears as a compact card at the top of TL;DR, and as a stat card on your Dashboard. See the Readiness Score help section for the full breakdown.
  • Personal Correlations - statistically-derived relationships in your own data: which lifestyle inputs (sleep, protein, rest days) reliably predict better or worse training sessions for you specifically. Computed on-device, no AI. See the Personal Correlations help section.
  • Monthly Narrative - on-demand AI-written plain-English summary of any month's full data across all streams. Generated when you tap the button; up to 13 months stored. See the Monthly Narrative help section.
Looking for Training advice? The AI coaching advice feature (strategic guidance on how to approach your training based on your age, goals, and fitness level) has moved to Settings → Training advice. See the Training advice help section for details.
⚡ Cross-stream pattern detection

The Insights page automatically spots linked patterns across data streams - not just within each module - and surfaces them as amber alerts. These fire only when the pattern is genuinely present in your data, so they're meaningful when they appear. Examples:

  • Undereating + training frequency drop - explicitly links the two if both are present, explaining the mechanism (underfuelling → reduced energy → harder to show up and train)
  • High training volume + undereating - flags when you're lifting heavy but not eating enough to recover
  • Lower protein on training days than rest days - catches the counterproductive pattern of eating less protein precisely when you need it most
  • Weight stall despite calorie deficit - flags 3+ weeks of no movement when intake is on target, with common cause suggestions
  • Poor sleep + training frequency drop - explicitly connects sleep quality to training adherence
  • Active injuries + training frequency drop - flags unresolved injuries alongside reduced frequency, with advice on movement substitution
  • Low mood / low energy / high stress + training frequency drop - names all contributing wellness signals when multiple fire at once
  • Low hydration on training days - catches if you're consistently drinking less on the days you need it most
  • Cycle phase–specific alerts (female profiles) - e.g. undereating during the Follicular phase (prime performance window), Luteal phase + training drop, phase-specific protein patterns
  • Menopause cross-streams - triple signal (high anxiety + poor sleep + training drop), fatigue + undereating, HRT context notes

All cross-stream patterns are computed at render time from your existing data - no extra logging required. Obvious linked events are made obviously linked.

Correlations become statistically meaningful with 30+ days of overlapping data. Insights adapt automatically to whichever modules you have enabled - turning off a module in Settings removes that module's cards from Insights automatically.

The weekly brief always appears at the top of the Insights page. It sees your full training week including any off days - holidays or unplanned missed sessions are framed as recovery, not failure.

How the AI coaching brief works

Once a brief is generated, you have the option to give the AI one follow-up context note - for example "I've been eating at a deficit on purpose for the past 3 weeks" or "I only started logging supplements this week but I've been taking them for months." This context is included in a re-analysis, and the improved final version is what gets saved. You can review the exact anonymised data sent to AI at any time by tapping "What's sent to AI?" before submitting.

Brief history is stored within the app - all your previous generated briefs appear below the main brief card so you can look back and see how your coaching advice has evolved over time as your fitness has progressed.

Privacy: Only anonymised numeric statistics are sent to Anthropic - never your name, email, or any identifying information. Regeneration is limited to once every 48 hours since the data needs a full week to be meaningful. For ongoing back-and-forth conversation about your results, paste any brief into Claude.ai.

AI disclosure: AI coaching briefs and food analysis are powered by Claude (Anthropic) with a Gemini (Google) fallback. AI-generated insights are informational only and do not constitute medical, nutritional, or clinical advice. Always consult a qualified health professional before making significant changes to your diet, training, or supplementation.
Habits: your year at a glance
Where to find it: Open Insights in the sidebar, then click the ⊞ Habits tab at the top of the page.

The Habits page shows a GitHub-style heatmap of your consistency across six metrics over the past 12 months. Each square is one day. The darker the square, the better you did on that metric that day. One glance tells you more about your long-term consistency than any weekly chart.

What each metric tracks
  • ◎ Training: scored by number of exercises logged: 1–2 exercises scores light green, 3–4 medium, 5–6 strong, 7+ full intensity. Rest days (no session logged) show grey.
  • ◉ Calories on target: how close you were to your calorie target. Within 10% scores full marks; the further off target, the lighter the square.
  • ⚡ Protein: scored against your protein target (set in Settings). Hitting your target scores full marks; 80%+ of target scores strong, 60%+ scores medium, anything logged but under 60% scores light.
  • 😴 Sleep 7h+: hours slept that night: 5h+ scores light, 6h+ medium, 7h+ strong, anything below 5h shows grey. Logged via Wellness → Sleep.
  • 👟 Steps: daily step total from your Activity log: 3,000+ light, 6,000+ medium, 10,000+ full.
  • 💊 Supplements: percentage of your daily supplements marked as taken: 50%+ light, 75%+ medium, 100% full.
  • 💧 Hydration: scored against your daily hydration goal (set in Settings → Hydration tracking). Hitting your goal scores full marks; 80%+ scores strong, 60%+ scores medium, anything logged but under 60% scores light. Only appears when hydration tracking is enabled.
Switching metrics

Tap the metric buttons above the heatmap to switch between views. The heatmap re-renders immediately with that metric's scoring. The month labels and day labels always stay aligned with the grid.

Tapping a square

Tap (or click) any square to see a popup with exactly what you logged that day for the selected metric: your food items and totals for Calories/Protein, hours and quality for Sleep, individual exercises for Training, step count for Steps, and supplement tick-list for Supplements. The popup appears near your tap and closes when you tap elsewhere or press ×.

Streaks and stats

Below the heatmap, four cards show: current streak (consecutive days with any score > 0), longest streak (best run in the past 12 months), total logged days, and completion rate as a percentage of all days in the window. These update instantly when you switch metric.

Tip: The heatmap is fully responsive, it scales to fill the available width at any screen size, whether you're on a phone, tablet, or desktop. Month labels always align with the grid columns beneath them.
Readiness Score
Where to find it: The Readiness Score appears in three places - at the top of Insights → Analysis (full breakdown), on your Dashboard as a stat card, and as a full-width card at the top of TL;DR (compact view with factor bars). All three tap through to the Insights breakdown.

The Readiness Score is a 0–100 composite that tells you how recovered and prepared your body is for today's training. It cross-references five signals to give you a single, honest number - not a motivational guess.

How it's calculated
  • Sleep (30 pts) - last night's sleep hours vs your 7-hour target. Full points for 7h+, scaled down for fewer hours.
  • Resting HR (20 pts) - today's resting HR vs your personal 30-day baseline. Elevated HR (a classic sign of incomplete recovery) reduces the score proportionally. Data source: import from Apple Health (Apple Watch or compatible device) via Settings → Import, or log manually in Wellness → Vitals. Without any HR readings the component scores neutrally (14/20) until you have at least 5 readings over 30 days.
  • Training load (25 pts) - total tonnage from the past 3 days relative to your 30-day average. Heavy recent sessions reduce the score; rest reduces it less. Designed to catch accumulated fatigue before you feel it acutely.
  • Mood & energy (15 pts) - today's mood and energy readings from your Wellness log, averaged.
  • Hydration (10 pts) - yesterday's water intake vs your daily hydration goal.

Missing signals score neutrally, so the score is useful from day one without any particular module enabled. Resting HR is the component that most benefits from a wearable - without it you get a fixed neutral 14/20 for that factor. Everything else (sleep, training load, mood, hydration) can be logged manually.

Reading the score
  • 85–100 - Peak: green. All signals positive, go hard.
  • 70–84 - Ready: blue-green. Good to train normally.
  • 50–69 - Moderate: amber. Consider a lighter session or extra warm-up time.
  • 30–49 - Low: orange. Recovery may be incomplete - active recovery or a rest day may serve you better.
  • 0–29 - Rest: red. Multiple signals are poor. Pushing through today risks compounding fatigue or injury.

The score updates in real time as you log today's data. The Insights card shows the individual signal breakdown so you can see exactly which factor is pulling the score down.

No AI, no external calls: the Readiness Score is computed entirely on-device from your existing logged data. It requires no internet connection and costs nothing to run.
Personal Correlations
Where to find it: Insights → Analysis tab, Personal Correlations card.

Personal Correlations mines your own data to find the lifestyle factors that most predict your training performance - specifically which inputs (sleep, protein, rest days, mood) reliably produce better next-day or same-day output for you specifically, not population averages.

What's correlated
  • Sleep → next-day training volume - does more sleep reliably translate to heavier sessions for you?
  • Protein intake → next-day training volume - does hitting your protein target the day before make a measurable difference?
  • Rest days → session volume - does a rest day before training produce better sessions?
  • Sleep quality → next-day energy - does subjective sleep quality track your logged energy score?
How it works

Each correlation uses the Pearson coefficient - the standard statistical measure of linear relationship - applied to your paired data points. A minimum of 8–12 overlapping data points is required before a correlation is shown, and only relationships with at least a 5% effect size are reported, to avoid surfacing noise as insight.

Correlation strength is reported as: strong (|r| ≥ 0.5), moderate (|r| ≥ 0.3), or weak (|r| ≥ 0.15). Direction is shown as positive or negative.

What "not enough data" means

If a correlation shows "not enough data yet", you have fewer than 8 overlapping logged days across both streams for that pair. Continue logging both streams consistently and it will appear naturally over the following weeks.

Entirely on-device: Personal Correlations are computed locally from your stored data with no network calls, no AI, and no server requests. Nothing leaves the app.
Monthly Narrative
Where to find it: Insights → Analysis tab, Monthly Narrative card.

The Monthly Narrative is an AI-written plain-English summary of your full month - across training, nutrition, sleep, wellness, and body composition - written in the tone of a knowledgeable but human coach. Unlike the weekly brief (which is analytical and forward-looking), the narrative reads like a thoughtful month-end review: what happened, what changed, and what it means.

Generating a narrative

The Monthly Narrative is generated on demand - tap Generate narrative on the card for the month you want. Generation sends a compact, anonymised summary of that month's data to Claude and returns a short narrative (typically 150–250 words). Each month is generated independently; you can generate any month that has data.

The last 13 months of generated narratives are stored locally in the app, so you can scroll back through your monthly story arc over time - one of the most motivating things you can do when you've been consistent for a while.

What's sent to AI

Only anonymised numeric statistics are sent: total training sessions, average tonnage, average calories, protein adherence %, average sleep hours, average mood and energy scores, weight change, and step count average for that month. No names, dates, food item names, exercise names, or identifying information are included in the payload.

AI disclosure: Monthly Narratives are powered by Claude (Anthropic). Each generation uses a small number of tokens and is entirely on-demand - there is no automatic monthly cron job. You control when (and whether) a narrative is generated for any given month.
Tip: generate narratives for completed months - a month's narrative is most accurate once the full month's data is in. If you generate for the current (incomplete) month, the narrative will note that the month is in progress and the data is partial.
Generate programme: AI training plan

The Generate programme button at the top of the Training page asks the AI to write a structured, week-by-week training plan tailored to your profile. It is a read-only suggestion: generating one does not change your existing split or logged data in any way.

Tactical, not strategic: Generate programme creates a specific week-by-week plan with exercises, sets, reps, and phases: based on your actual logged training data. For broader coaching philosophy advice (how to approach training given your age, goals, and health context), see Training advice - also on the Training page.
What you configure
  • Duration: 4, 8, or 12 weeks
  • Primary focus: Strength, Hypertrophy, Recomposition, or Endurance
  • Days per week: 1 through 7, whatever fits your schedule
What's sent to AI

Tap ▷ What's sent to AI? in the modal before generating to see the exact payload. It includes your age, sex, fitness level, goal, days per week, the heaviest weight you've lifted for each exercise in the past 60 training sessions (as kg numbers only: no dates, no session details), and any active injuries. No name, email, food logs, weight history, or photos are ever sent.

Applying a week to your split

Once generated, each week in the plan has an Apply to my split button. Before applying, a preview shows which of your existing split days will be updated (sessions matched by name) and which sessions will be added as new days. A confirmation prompt lists all changes before anything is touched.

Your current weights are preserved: the AI doesn't know your working weights, so any exercise that already exists in your split keeps its current weight when the plan is applied.

Undo

Immediately after applying a week, an ↩ Undo banner appears at the top of the Training page. Your previous split was saved to a local backup before any changes were made. Tapping Undo restores your split exactly as it was, removes the backup, and clears the banner. The backup persists across page reloads, so you can undo even after a browser refresh: until you either undo or dismiss the banner.

Important: Generated plans are stored in your browser only (not synced to the server), so they reset if you clear your browser data. Your actual split, exercises, and training logs are always server-side and are never affected by generating a plan.
Training advice: strategic coaching from your profile

Training advice is on the Training page, alongside Generate programme. It asks the AI to give you personalised coaching guidance based on who you are: your age, fitness level, goals, health context, and any active injuries, rather than a specific programme of exercises.

Think of it as your coach answering "Given everything about me, how should I be approaching my training?", covering training philosophy, weekly structure principles, and the key priorities for your stage of life. Especially useful for older adults (40+) where recovery, joint health, and hormonal factors change what good training looks like.

How it differs from Generate programme
🏋 Training advice
Strategic. Coaching philosophy based on your profile, how you should approach training. Uses only your age, goals, fitness level, and health context. No training logs involved.
📋 Generate programme
Tactical. A specific week-by-week plan with exercises, sets, reps, and phases, built from your actual logged performance data.
What's sent to AI

Only your anonymised profile details are sent: age, biological sex, fitness level, goals, health context, dietary preference, and any active injuries. No name, email, food logs, training history, or identifying information is ever included. Tap ▷ What's sent to AI? to preview the exact payload before generating.

Cooldown

Regeneration is limited to once every 72 hours: your profile doesn't change fast enough to warrant more frequent advice. If you want to explore specific questions, paste any response into Claude.ai for an open-ended conversation.

AI disclosure: Training advice is powered by Claude (Anthropic). It is informational only and does not constitute medical or clinical advice. Always consult a qualified health professional before making significant changes to your training.
Wellness modules

The Wellness page has eight independent tracking tabs. Each can be turned on or off individually in Settings → Tracking modules. Disabled modules are hidden from the Wellness page and from Insights.

😴 Sleep

Log nightly sleep duration and optional quality (1–5 stars) and notes. Charts show hours slept and quality trends. Insights correlates both hours and quality with next-day training tonnage.

💧 Hydration

Log daily water intake in litres. The chart shows your hydration trend over time. Insights correlates same-day hydration with training output.

🧠 Mood / Energy / Stress

Log daily mood, energy, and stress on 1–10 sliders. Over time, charts reveal patterns - useful for spotting high-stress periods and linking them to training load, sleep, or nutrition. Insights correlates mood and energy with next-day/same-day training performance, and stress inversely with recovery. One entry per day.

🚶 Steps & daily activity

Log daily step count, distance (km), active minutes, and floors climbed. You can enter values manually from your phone's Health app, fitness tracker, or smartwatch, or use the 📷 Import screenshot button to photograph or upload a screenshot of any health app - AwesomeBody will read the values automatically using AI and fill the form in for you.

Supported sources include Apple Health, Google Fit, Garmin Connect, Fitbit, Samsung Health, Strava, and most health apps that display daily totals on screen. The AI reads step count, distance, active minutes, and floors from the screenshot. Review the filled values before logging. Insights correlates steps and distance with same-day and next-day training output, helping you understand how non-gym activity affects your sessions.

❤️ Resting HR & blood pressure

Log resting heart rate (bpm) and blood pressure (systolic/diastolic mmHg). Leave fields blank if you only measure one. Insights flags days where resting HR is elevated above your personal baseline - a reliable indicator of under-recovery or accumulated fatigue.

🩹 Injury & pain log

Log any injury, pain, or persistent discomfort - body part, severity (1 mild to 5 severe), type, and notes. A shortcut button appears at the top of the Training page (when enabled) so you can quickly navigate here. Tick "Resolved" when healed - the entry stays dimmed in the log. Insights shows active injuries, 30-day trends, and most commonly affected areas.

♀ Cycle & Menopause (female profiles)

If your profile sex is set to Female, two additional tabs appear in the Wellness tab strip: ♀ Cycle and Menopause. These are the full Women's Health tracking features: cycle phase logging, phase-based training guidance, and menopause symptom tracking, accessible directly from within Wellness. See the Women's Health help section for full details.

⏱ Intermittent fasting tracker ★

Log your daily eating window by entering the time you started eating (window open) and stopped eating (window closed). The panel shows your fasting duration for the day, your eating window in hours, your current streak (consecutive days with both times logged), and your 7-day average fast length. A scrollable log shows all past entries with edit and delete buttons. Enable in Settings → Tracking modules → Intermittent fasting tracker.

🩸 Blood markers

Log lab results from blood tests. A built-in list covers 40+ common markers (cholesterol, glucose, HbA1c, hormones, iron, vitamins, liver and kidney function) - start typing to filter, or enter any custom marker name. Enter the value as a number (units are part of the marker name, e.g. "Total Cholesterol (mmol/L)").

You can also import from a photo or PDF - photograph your printed lab results or attach a PDF from your hospital portal, and the AI extracts all markers and values automatically. Review and tick what you want to save.

Each marker gets its own chart. Insights shows trend direction (↑ ↓ →) for any marker with results from two or more tests.

♀ Women's Health
Where to find it: Open Wellness in the sidebar: if your profile sex is set to Female, you'll see ♀ Cycle and Menopause tabs in the Wellness tab strip.

The Women's Health module gives you a dedicated space to track your menstrual cycle, understand how cycle phases affect training and recovery, and make more informed decisions about your health.

Logging a cycle entry

Tap Log cycle entry and fill in the cycle start date, your typical cycle length (default 28 days), period length (default 5 days), and any optional notes. You only need to log the start of each new cycle - the app calculates where you are in the cycle on any given day automatically.

The four phases

AwesomeBody identifies your current phase and provides phase-specific training guidance:

🔴 Menstrual (Days 1–5)

Oestrogen and progesterone are at their lowest. Energy may be reduced - prioritise rest, gentle movement, and self-compassion. Iron-rich foods support recovery.

🟣 Follicular (Days 6–13)

Oestrogen rises. Energy and mood improve. This is a great time for progressive overload, PB attempts, and high-intensity work. Your body adapts well to training stimulus here.

🟡 Ovulation (Days 14–16)

Peak oestrogen and LH surge. Strength and power are typically at their highest - ideal for maximal effort sessions. Note: ligament laxity is slightly elevated; warm up thoroughly.

🟤 Luteal (Days 17–28)

Progesterone rises. Some people experience fatigue, bloating, or mood shifts in the late luteal phase. Moderate intensity, focus on technique work, and increase complex carbs to support progesterone.

Phase banner

At the top of the Women's Health page you'll see a phase banner showing today's phase, which day of your cycle you're on, and a colour-coded progress bar spanning all four phases. Below that is personalised training and nutrition advice for the current phase.

Cycle history

All logged cycles appear in a table with start date, length, period length, and phase at time of entry. Tap the trash icon to delete a cycle log entry.

Insights & performance correlation

The Insights page includes a Cycle phase performance card (visible when Women's Health is active). It shows average tonnage, cardio output, and wellness scores grouped by phase - so you can see objectively how each phase affects your training over time. A regularity indicator shows average cycle length and any variation.

Phase-aware cross-stream alerts appear in the Insights cycle card based on your current phase and recent data. For example: if you're in the Follicular phase (typically your highest-performance window) and your calorie intake is below target, an amber alert flags that you're leaving performance gains on the table. If you're in the Luteal phase and training frequency has dropped, the alert contextualises this as a common phase-related pattern and suggests planning accordingly. These alerts only fire when your actual data shows the pattern - they're not generic warnings.

🌙 Menopause symptom tracking

The Menopause tab (within Women's Health) lets you log daily symptom data: sleep quality, mood, brain fog, fatigue, anxiety (all 1–10), hot flushes, night sweats, HRT notes, and general notes. A 7-day summary tile panel shows colour-coded averages at a glance. Trend charts show how each symptom evolves over time.

Cross-stream alerts in the Menopause section flag linked patterns between symptom data and training/nutrition - for example: high fatigue scores alongside calorie intake below target (underfuelling amplifies menopause fatigue); high anxiety + poor sleep + training frequency drop as a triple-signal loop; sustained low mood; or HRT notes present alongside elevated symptoms (prompts to share the data with your prescriber). These alerts appear between the 7-day summary and the trend charts and only fire when the data genuinely supports them.

🔒 Privacy - your data stays private
Women's Health data is treated with the highest privacy protections in AwesomeBody:
Never sent to AI by default. Cycle data is excluded from AI briefs unless you explicitly enable "Include cycle phase in AI brief" in Settings → Women's Health Privacy.
Cannot be sent to support. Like progress photos, Women's Health data is permanently blocked from any support data export - it is impossible to include in a support request.
Stored only on your server. Cycle logs never leave your server infrastructure except via the opt-in AI brief - see the Privacy & GDPR section for full details.

If you set your profile sex to Female, the Women's Health module appears. If you update your profile to a different sex, the module is hidden and cycle data is preserved but not shown - it will reappear if you update your profile back to Female.

🩹 Injury & pain log

The injury log lets you track injuries, persistent pain, and discomfort over time - so you can spot patterns, avoid aggravating the same areas, and see how quickly you typically recover. Enable it in Settings → Tracking modules → Injury log.

Logging an injury

Go to Wellness → Injuries and tap + Log injury / pain. Fill in:

  • Date - when the injury occurred or when you first noticed it
  • Body part - e.g. left knee, lower back, right shoulder
  • Severity - 1 (very mild / barely noticeable) to 5 (severe, cannot train)
  • Type - e.g. muscle strain, tendon, joint, overuse, acute, post-surgery
  • Notes - what happened, any treatment, what aggravates it
Marking as resolved

Tick Resolved on any injury entry when it has healed. Resolved entries stay in your history (dimmed) - they're never deleted. This lets the app calculate how long each type of injury typically takes you to recover from, and keeps the history accurate for your healthcare provider.

Insights - what the injury data unlocks

The Injury & recovery card on the Insights page shows:

  • Active injuries banner - any unresolved injuries are shown prominently with severity colour-coding
  • 30-day trend - whether you've logged more or fewer injuries in the last 30 days vs the prior period
  • Most affected areas - your historically most-injured body parts, shown as tags
  • Severity trend - whether recent injuries are milder or more severe than your all-time average

Cross-stream detection: The Training Tenure insights card will automatically flag if you have active unresolved injuries at the same time as a drop in training frequency - since these are often directly linked. The alert names the affected body parts and suggests substituting movement patterns rather than reducing overall training volume.

Tip: Log injuries even if they seem minor. Small recurring niggles in the same area often predict a more significant injury weeks later. The pattern data helps you and your coach (or physio) see the full picture.
🩸 Blood markers

Track your lab results from blood tests over time. AwesomeBody stores each marker separately so you can see trends across multiple tests - useful for monitoring cholesterol, glucose, hormones, vitamins, and other health indicators as your fitness and nutrition evolve. Enable in Settings → Tracking modules → Blood Markers.

Logging a result

Go to Wellness → Blood Markers. Start typing a marker name to search the built-in list of 40+ common markers, or type any custom marker name. Enter the value as a number. The units are embedded in the marker name (e.g. "Total Cholesterol (mmol/L)", "Haemoglobin (g/dL)"). Each result is tagged with a date - you can log multiple results for the same marker across different test dates.

AI import from photo or PDF

Instead of typing values, use Import from photo / PDF:

  • Photograph your printed lab results sheet
  • Screenshot your hospital patient portal
  • Attach a PDF from your GP or clinic

The AI reads all markers and values from the document and presents a checklist - tick the ones you want to save, untick anything you want to skip. Review the values before confirming. Works in any language and with most lab result formats.

Built-in markers (examples)
Total Cholesterol LDL / HDL Triglycerides Glucose / HbA1c Testosterone / Oestrogen TSH / Free T4 Ferritin / Iron Vitamin D / B12 CRP / ESR Creatinine / eGFR Liver enzymes (ALT / AST) Haemoglobin / Haematocrit PSA + any custom marker
Insights - trends over time

The Blood markers - trends card on the Insights page shows each marker that has results from two or more different test dates. Each marker appears with:

  • Direction arrow - ↑ rising, ↓ falling, → stable
  • Value change - the delta between oldest and most recent reading
  • Date span - how far apart the readings are

The trends view doesn't tell you whether a value is clinically good or bad - that's your GP's job. What it does is show you direction, which is often the most important signal when monitoring over months or years.

Important: Blood marker data is medical information. AwesomeBody shows trends for your own tracking purposes - it does not interpret results, provide reference ranges, or constitute medical advice. Always discuss your lab results with your GP or specialist.
Settings
Profile
  • Date of birth, sex: used for age-adjusted AI analysis and calorie/body composition estimates.
  • Height: editable inline with the ✎ button. Saved to your server profile and used for BMI calculation on the Scale page.
  • Current weight: displayed as a read-only reference showing your most recent Scale entry. Log new weigh-ins on the Scale tab within Measurements.
  • Fitness level, goals, dietary preference, health notes, training since: all editable inline; these personalise your AI coaching brief and training advice.
Core modules
  • Core module toggles - show or hide the main sections of the app: Nutrition, Training, and Measurements (which includes Scale). Hiding a module removes it from the sidebar navigation - useful if you only use some parts of the app (e.g. training-only with no food tracking). Core modules are all on by default.
Nutrition & goals
  • Body goal - sets the tone for all nutrition analysis and AI coaching. Choose from: Lose weight (calorie deficit), General health (balanced approach), Cardio & endurance (aerobic performance focus), Maintain weight, Body recomp (lose fat and gain muscle simultaneously), Cutting (deficit with muscle preservation, athletic focus), Lean bulk (modest surplus, slow muscle gain), Gain weight (calorie surplus), Bulking (larger surplus for maximum muscle growth), or Rehabilitation & recovery (returning from injury). You can change it any time - it takes effect immediately across all nutrition analysis, calorie charts, and the weekly AI brief.
  • Calorie & protein targets - your daily targets used in the nutrition progress bars and analysis.
  • TDEE calculator - enter your sex, age, height, current weight, and daily activity level and the app uses the Mifflin-St Jeor formula to calculate your Total Daily Energy Expenditure - the actual calories your body burns in a day. Pick your body goal (fat loss, lean bulk, recomp, etc.) and it adjusts the recommended intake for that goal automatically. Hit Apply and that one number flows through the entire app: it becomes your target on the Food page progress bar, the reference line on every calorie chart, the benchmark that calorie intelligence in Insights uses to assess your 30-day pattern, and the figure the weekly AI coaching brief uses to judge whether your intake is actually serving your goal. Recalculate and re-apply any time your weight shifts or you change your focus.
Training & exercises
  • Exercise builder - add, edit, or remove exercises. Set each as weights/reps, duration (cardio), or distance. This determines what fields appear when you log that exercise.
  • Training split builder - customise your split cycle. Define any number of days, assign exercises to each, set rest days, and name each session.
  • Training advice - AI coaching philosophy tailored to your profile. Get strategic guidance on how to approach training given your age, goals, fitness level, and health context. Different from Generate programme (Training page) which creates a specific week-by-week plan from your logged data. See the Training advice help section for full details.
Appearance
  • Colour scheme - choose from 9 built-in themes: Dark (default - charcoal with lime), Midnight (deep blue with cyan), Graphite (near-black with gold), Forest (dark green), Dusk (purple-tinted with violet), Ocean (dark navy with teal), Ember (warm brown with orange), Slate (steel blue-grey), and Light (white/blue). Or tap Choose your own colours to open the custom colour picker - set your background, cards, highlights, and text however you like, preview it live, then save it. Your active theme is synced to your account so every device you sign in on automatically uses the same colour scheme. Saved custom themes show a small × badge - tap it to delete the custom theme and revert to Dark.
  • Font size - a 5-step scale from XS (88%) to XL (113%), with M as the default 100%. Scale up if you prefer larger text, or scale down to fit more on screen. Like your colour theme, the font size you choose is synced to your account and loads on all your devices automatically.
Tracking & display
  • Body metrics - add custom measurement fields (e.g. neck, calves) to the Measurements page.
  • Supplements catalogue - manage your supplement list and default doses.
  • Units - choose kg or lb for weight, km or mi for distance, and cm or in for body measurements. The whole app updates instantly when you switch. See Units & locale for full details.
  • Tracking modules - individually enable or disable Sleep, Hydration, Mood/Energy/Stress, Steps & Activity, Resting HR & BP, Injury log, and Blood Markers. Disabled modules are hidden from navigation and logs.
  • Feature tooltips - on by default. Hovering any button or ⓘ icon shows a tooltip explaining what it does and how it works. Many tooltips include a Learn more → link that takes you straight to the relevant section of this Help guide. Turn off once you're familiar with the app - the setting is in Settings and takes effect instantly everywhere.
Women's Health privacy

Visible only when your profile sex is set to Female. Contains one toggle:

  • Include cycle phase in AI brief - when enabled, the weekly AI brief receives your current cycle phase (e.g. "Luteal, Day 20") as context. Off by default. Even when enabled, raw cycle dates, period length, and any notes you've entered are never transmitted - only the phase label. See Privacy & GDPR for full details.
Data management
  • Export data - download all your data as a JSON file for backup or migration. Fulfils GDPR Article 20 (data portability).
  • Restore from backup - re-import a previously exported JSON file. Only adds records that don't already exist - no data is ever overwritten or duplicated.
  • Import Apple Health - bring in historical data from your iPhone and Apple Watch. Imports weigh-ins, body fat, sleep duration, resting heart rate, daily step counts, and workouts directly from your iPhone's Health app export. See Apple Health import for the full guide.
  • Automatic data snapshots - AwesomeBody silently takes a full point-in-time snapshot of all your data in three situations: once per day on first app load, automatically before any bulk operation (e.g. "Fix All entries"), and on demand from Settings. See Data snapshots & recovery for full details.
🤪 Easter eggs

There is a hidden setting in Settings that changes the personality of the app in a few small ways. It's off by default - perfectly serious and professional when you need it to be. When you find it, you'll discover it for yourself. We'd rather not spoil it here.

The setting is synced to your account, so if you turn it on it follows you across all your devices. Same data. Just a different energy.

🛡 Data snapshots & recovery

AwesomeBody automatically keeps point-in-time snapshots of all your data — every table, every log — so that if something goes wrong, you're never more than a daily backup away from your full history.

Three types of snapshot
  • Daily auto-snapshot — taken automatically, silently, on your first app load each day. Up to 30 kept. Covers every table: food, training, weigh-ins, supplements, sleep, mood, measurements, blood markers, injuries, progress photo metadata, and all settings. You never need to remember to do anything for this to happen.
  • Pre-operation snapshot — taken automatically before any bulk operation — for example, "Fix All entries" which rewrites nutritional values across your whole food history. Up to 20 kept. If a bulk action produces unexpected results, this snapshot is your safety net to restore from exactly where you were before.
  • Manual snapshot — take one on demand from Settings → Data management at any time. Up to 10 kept. Useful before a big data import, a settings overhaul, or any time you want a named restore point.
How data is stored

Snapshots are stored in your Supabase database, isolated per user with Row Level Security — nobody else can see yours. Each snapshot includes a row count summary (so you can tell at a glance "this was taken when I had 412 food entries and 88 training sessions") and the full JSONB data blob. Snapshots are completely separate from Supabase's own infrastructure-level backups; they exist at the app layer, per user, so recovery is surgical — your data, not a whole-database rollback.

Two layers of protection

AwesomeBody's Pro Supabase plan also includes 7-day Point-in-Time Recovery (PITR) at the infrastructure level — a whole-database safety net for catastrophic failures. The app-level snapshots add per-user, per-operation recovery on top of that: you could restore just your food data from three days ago without touching anything else.

In local (server.js) mode

Snapshots only run when you're connected to Supabase (the cloud/production version of the app). On a local Node.js + SQLite install, there is no snapshot endpoint — but the bevil.db SQLite file is a single file you can copy or version-control manually.

Units & locale

AwesomeBody supports both metric and imperial units for weight, distance, and body measurements. You can switch at any time from Settings → Units - everything in the app updates instantly without any manual conversion.

Weight unit - kg or lb

Controls how weight is shown and entered across the whole app:

  • Weigh-in form - the input label, placeholder, and pre-filled edit values all update to your chosen unit. Values are always stored as kg on the server; the conversion is display-only so switching back is lossless.
  • Scale page table - weight and muscle mass columns display in the chosen unit with deltas shown correctly (e.g. "+1.2 lb" or "+0.5 kg").
  • Today card - the starting weight for each exercise in your split (e.g. "60 kg" or "132.3 lb").
  • Training log form - the weight input shows the correct unit label, the per-hand doubling ("= 264.6 lb total") and the saved string format all match (e.g. "10,9 @ 132.3lb"). If you have previous entries in kg, they display converted when you edit them.
  • Split builder - the starting weight field in each exercise row updates its placeholder and pre-fills in the chosen unit.
  • Dashboard lift cards - max lifts and gains are shown in your chosen unit (e.g. "182 lb/arm · +22 lb · progressing").
  • All weight charts - body weight trend, lift history, and dashboard charts all convert axis labels and data points to the chosen unit.
  • Tonnage motivator bar - total session volume converts (e.g. "5,159 lb lifted · ↑ 440 lb better than last Upper A 🤩").
Distance unit - km or mi

Controls how distance is shown for cardio exercises (running, cycling, swimming, walking):

  • When you log a distance exercise, the unit selector already supports km and mi - the stored string records whatever unit you entered (e.g. "5km" or "3.1mi").
  • The cardio motivator bar on the today card shows distance in the preferred unit (e.g. "3.1 mi covered · ↑ 0.5 mi better than last Cardio 🤩").
  • The live pace calculator on the training form always shows both min/km and min/mi regardless of this setting.
Measurement unit - cm or in

Controls how body tape measurements (waist, chest, arms, hips, etc.) are shown and entered on the Measurements page:

  • Log form - input labels and step increments update to the chosen unit (0.5 cm or 0.1 in). When editing an existing entry, values are pre-filled in your current unit.
  • Measurement charts - Y-axis ticks and tooltips (including PR/best markers) display in the chosen unit.
  • Log table - column headers show the active unit and all values are converted for display.
  • Recomp insights - belly and bicep delta values in the Body Recomposition Status card display in the chosen unit.
  • Grip strength is stored in kg and follows the Weight unit setting (kg or lb), not this one.
  • All tape measurements are always stored as cm internally; switching to inches is display-only and is fully reversible with no data loss.
Switching units is always safe

All body weights are stored as plain kg on the server; all tape measurements are stored as plain cm. Training log strings store the unit inline (e.g. 60kg or 132lb) so the app can parse them correctly regardless of your current preference. Switching units at any time is safe and non-destructive - no data is lost or corrupted.

Tip: if you mix units in your training history (some entries in kg, some in lb), the app handles both formats transparently - tonnage calculations, the motivator bar, and lift history charts all convert to a common unit before doing any maths.
Using on iPhone or iPad

AwesomeBody is a web app. On iPhone and iPad you can add it to your home screen for a full-screen, app-like experience with no browser chrome.

Adding to home screen
  1. Open Safari and navigate to the app URL
  2. Tap the Share button (box with arrow pointing up)
  3. Scroll down and tap Add to Home Screen
  4. Give it a name (e.g. "AwesomeBody") and tap Add
⚠ Updating the app on iOS

When the app is updated, iOS does not automatically load the new version - it serves the cached snapshot from when you last added it to your home screen. The version indicator at the bottom of the sidebar will turn red if your installed version is out of date.

To update:

  1. Long-press the AwesomeBody icon on your home screen
  2. Tap Remove App (this does NOT delete your data - all data is stored on the server)
  3. Open Safari, go to the app URL, and add it to your home screen again
Your data is always safe - it lives on the server, not in the app icon. Removing and re-adding the home screen shortcut only refreshes the app code, never your data.
Import from Apple Health

If you use an iPhone and Apple Watch, years of health data are already sitting in your Health app - weight, body fat, sleep, heart rate, steps, and every workout. The Apple Health import brings all of it into AwesomeBody in one go, so your charts and insights are populated from day one rather than starting from scratch.

Step 1 - Export from your iPhone
  1. Open the Health app on your iPhone
  2. Tap your profile photo in the top-right corner
  3. Scroll down and tap Export All Health Data
  4. iOS will prepare a file - this can take a minute or two for large archives
  5. When ready, share the export.zip to yourself via AirDrop, Files, or email - then open (unzip) it to find the export.xml file inside
Use the export.xml file found inside the unzipped archive - AwesomeBody imports it directly.
Step 2 - Import in AwesomeBody
  1. Go to Settings → Your data → Import Apple Health
  2. Tap Choose file… and select your export.xml
  3. Set your date range - the default is the last 12 months. Widen it to import older history.
  4. Choose what to import using the checkboxes (Weight, Sleep, Steps, Workouts)
  5. Tap ⚡ Parse & Preview - the app scans your export and shows exactly what it found and how many records are new
  6. Review the preview, then tap Import data to confirm
What gets imported
⚖️ Weight & body fat
One weigh-in per day from Apple Health. Includes body fat % (if you have a compatible smart scale paired) and BMI. Automatically converts lb, stone, or kg to your preferred unit.
😴 Sleep & heart rate
Total sleep per night (Core + Deep + REM stages only - not time in bed). Resting heart rate estimated from your Watch's overnight readings. Populates your Wellness sleep log.
👟 Steps
Daily step count totalled from all Apple Watch and iPhone sources. Attached to each day's wellness record so it appears in your activity log.
🏋️ Workouts
Every workout logged on your Watch - running, cycling, strength training, HIIT, yoga, swimming, and more - imported as cardio entries in your Training log with duration, distance, and calories burned.
Important notes
  • Non-destructive - the importer only adds dates that have nothing logged yet. If you've already logged a weigh-in on a given day, the Apple Health entry for that day is skipped. Your existing data is never overwritten.
  • Large files - a multi-year Apple Health export can be 500 MB or more. Parsing is done in chunks so the browser stays responsive, but it may take 30–60 seconds to scan a large archive. Leave the tab open while it runs.
  • Sleep hours - Apple records sleep in stages (Core, Deep, REM, and InBed). Only actual sleep stages are counted, so the imported hours reflect true sleep time, not how long you were in bed.
  • Strength training workouts - Apple Health records the workout as a session (duration + calories) but not the individual exercises or weights. The workout is imported as a cardio entry so it appears in your Training history, but it won't include set/rep data - add that manually or log future sessions directly in AwesomeBody for full detail.
  • Body fat % - Apple Health stores body fat as a decimal (0.215 = 21.5%). The importer converts this automatically. If your paired scale records body fat, it appears in your Scale log alongside weight.
  • Re-importing - safe to run again after extending your date range. Duplicate-date entries are always skipped, so you won't end up with double data.
  • Step & distance double-counting - Apple Health stores raw step records from every connected device separately (your iPhone and Apple Watch each log their own counts for the same time windows). AwesomeBody automatically deduplicates overlapping time intervals during import, so even if Apple has counted your steps twice, you only get the real figure.
🔒 Your Apple Health data never leaves your device

Your Apple Health export is a local file - it is never uploaded to AwesomeBody's server or to any third party. The entire 121 MB (or however large yours is) is unzipped and read entirely inside your browser tab, in small chunks so the page stays responsive. Only six types of extracted numbers - listed below - are then sent to your account, one small record at a time. The original file is never transmitted anywhere.

Exactly what is extracted (and nothing else):
  • Body weight - date + weight in kg (converted from lb/stone if needed). One value per day.
  • Body fat % - date + percentage, if recorded by a paired smart scale. One value per day.
  • BMI - date + BMI value, if recorded. One value per day.
  • Sleep duration - date + total hours of actual sleep (Core + Deep + REM stages only; InBed time is excluded). Resting HR for that night is averaged and stored alongside it.
  • Daily step count - date + total steps. One value per day.
  • Workouts - date, activity type (e.g. Running, Strength Training), duration in minutes, distance in km, and calories. No GPS routes, no heart rate traces, no set/rep data.
What is never extracted or transmitted:

Location and GPS data, heart rate time-series, ECG recordings, blood oxygen readings, medication records, medical conditions, personal identifiers (Apple ID, name, phone number), environmental data, mindfulness logs, reproductive health data, or anything from dates outside the range you selected. The raw XML export file itself is never transmitted to anyone at any point.

Tips & tricks
  • Include a time in your food description ("at 7:30 I had…") and the time field fills automatically
  • Describe multiple items together ("a protein pot and 50g granola") and the AI combines them into one entry
  • The ← → arrows on the food page let you edit or add to any past day
  • Weigh-in entries can be edited by tapping the pencil icon in the history list
  • On the Scale page, photograph your scale display, or a screenshot of your smart scale record on your phone, to extract all metrics at once
  • The version number at the bottom of the sidebar goes red if your app needs refreshing
  • Use the Export button in Settings to back up all your data as a JSON file
  • Use the Import button in Settings to restore from a backup - only adds records that don't already exist, so you can't accidentally duplicate data
  • The "Wrong day?" buttons on the today card ask for confirmation before changing your training day - preventing accidental taps from syncing the wrong day to all your devices
  • Injuries and blood markers live in Wellness (not separate pages) - both feed into Insights automatically once you have enough data
  • Your colour theme and font size are saved to your account - sign in on any device and the app automatically loads your preferred look
  • The custom colour picker in Settings → Appearance pre-fills with your current active theme's colours, so you can tweak from your current scheme rather than starting from scratch
  • Settings is accessible on phones via the ⊘ More button in the bottom navigation bar
  • Use Import Apple Health in Settings to backfill months or years of weight, sleep, steps, and workout history from your iPhone and Apple Watch in one go - the importer skips dates you've already logged so it's always safe to run
  • After the AI analyses a food entry, tap ★ Save to My Foods to lock in those values permanently: the AI will always use your verified numbers for that item from then on. Manage your library in Settings → My Foods
  • Food entries for the day are shown in the order you ate them (sorted by time): include a time in your description ("at 7am I had…") or set it manually, and the log automatically stays chronological
Privacy & GDPR
The short version: Your health data is stored in Supabase - a cloud database with AES-256 encryption at rest and TLS encryption in transit, protected by Row Level Security so only you can access your own records. We never sell it, share it with advertisers, or use it to profile you. You can export or delete everything at any time. Two third parties are involved: Supabase (who host the encrypted database) and Anthropic (who power the optional AI features - only the specific image or snippet you submit is sent, not your stored data, and only when you actively use an AI feature). The Readiness Score and Personal Correlations features are entirely on-device - no data is sent anywhere when you use them.
What data is collected

Only data you actively enter - there is no passive tracking, no behavioural analytics, and no advertising infrastructure of any kind. Data collected includes: training sessions, food logs, body weight & composition, tape measurements, progress photos, sleep, hydration, mood/energy/stress ratings, daily activity & steps, resting HR & blood pressure, injury & pain logs, blood test markers, supplement logs, dietary preference (e.g. vegan, vegetarian, pescatarian - stored in your profile and used to personalise AI food & nutrition commentary; never sold or shared), and (for female users who choose to use Women's Health) menstrual cycle dates, period length, cycle length, and notes. For users who enable menopause tracking: daily symptom logs including hot flush frequency, night sweats, sleep quality, mood, brain fog, fatigue, anxiety, heart palpitations, joint discomfort, HRT/medication notes, and general notes - used to track symptom trends and produce charts for review with a GP or specialist. Some of these (injuries, blood markers, body composition, menstrual cycle data, and menopause symptom data) constitute health data under GDPR Article 9 (special category). Processing is based on your explicit consent, given when you create an account and begin logging. Women's Health data (cycle and menopause) is subject to the additional protections described below.

Where it's stored & how it's protected

In a Supabase PostgreSQL database built on AWS infrastructure, with three layers of protection:

  • Encryption at rest (AES-256) - all stored data is encrypted by AWS. Anyone with physical access to the storage hardware would see only unreadable encrypted bytes.
  • Encryption in transit (TLS) - every connection between your browser, the app server, and Supabase uses HTTPS/TLS. Your data is never transmitted in plaintext.
  • Row Level Security (RLS) - enforced at the database level. Your rows are only accessible when authenticated as you. No other user's queries can reach your data, even in principle.
A note on "your server" - when we say your data is stored on your own server, that's a simplification. In practice it lives in a shared Supabase cloud database alongside other users' data - but Row Level Security means the database itself enforces that only you can ever read or write your rows. It's the technical equivalent of having a dedicated private database: no other user, no admin query, and no app feature can reach your records. The shorthand "your server" reflects that experience rather than the underlying architecture.

Your browser also keeps a local copy in localStorage for fast loading and offline use. Session authentication uses a secure HttpOnly cookie that expires after 7 days.

Third parties - Supabase & Anthropic

Supabase stores all your data on AWS infrastructure. They are SOC 2 Type 2 certified and operate under a Data Processing Agreement (DPA) with the operator. The AES-256 encryption at rest means even if AWS infrastructure were accessed without authorisation, the stored data would be unreadable. Supabase does not access your data for their own purposes. Their privacy policy is at supabase.com/privacy.

Anthropic receives data only when you actively trigger an AI feature - and only the specific content listed below is sent. Your training history, food logs, measurements, and all other stored data are never sent to Anthropic.

  • AI food lookup - only your text description (e.g. "chicken breast 150g") is sent, to extract nutritional values
  • Photo food lookup - only your nutrition label or food photo is sent; nothing else from your account
  • Scale photo analysis - only your scale display photo or smart scale screenshot is sent
  • Blood marker import - only your lab results image or PDF is sent to extract marker names and values. Lab documents may contain your name or patient ID; the AI is explicitly instructed to ignore all personal identifiers and return only clinical values
  • Progress photo AI comparison - only the two photos you are comparing are sent; they are not stored by Anthropic and are saved only within your AwesomeBody account
  • AI weekly brief - a structured block of anonymised numeric stats and optional profile context (no names, account IDs, dates, or history). Profile context if provided: age as a number (never your date of birth), sex, fitness level, goals, dietary preference (e.g. "Vegan" - so AI commentary respects your diet), health notes, and training tenure as a duration e.g. "12 weeks" (never the actual start date). Women's Health data (cycle and menopause) is excluded from all AI briefs by default. Female users may opt in (Settings → Women's Health privacy) to include only the current cycle phase name and day number (e.g. "Luteal, Day 18") - cycle dates, notes, history, and all menopause data are never included in any case. You can verify exactly what will be sent before pressing Generate by tapping ▷ What's sent to AI? on the Insights page - it shows the full payload alongside a privacy confirmation that zero identifying information is included
  • AI exercise regimen - only your profile context is sent: age as a number, sex, fitness level, stated goals, health notes (including any injury notes you have logged), and training tenure as a duration. No training logs, food data, weight history, or any other stored data is included. The regimen is stored locally in your account only. Women's Health and menopause data is never included.
  • Activity screenshot import - only the health app screenshot you upload is sent, to read step count, distance, active minutes, and floors climbed. No other account data is included. The screenshot is not stored by AwesomeBody after the values are extracted; Anthropic retains it for up to 30 days as per their standard API policy, then it is automatically deleted.
  • Monthly Narrative - when you tap Generate narrative for a given month, a compact anonymised summary of that month's aggregate statistics is sent: total training sessions, average tonnage, average calories, protein adherence %, average sleep hours, average mood and energy scores, weight change, and average step count - all as plain numbers. No names, dates, food item names, exercise names, account IDs, or identifying information are included. Women's Health data is never included. As with all AI features, you are in control: generation only happens when you actively tap the button. Generated narratives are stored locally in your browser.

Features that never contact Anthropic (or any external service): the Readiness Score is computed entirely on-device from your logged data with no network calls. Personal Correlations uses statistical calculations (Pearson correlation) run locally in your browser with no external calls.

Anthropic retains API inputs and outputs for up to 30 days for safety and trust purposes, after which they are automatically deleted. API data is never used to train AI models. Exception: if content is flagged for a usage policy violation, Anthropic may retain it for up to 2 years - but as the weekly brief contains only anonymised numeric statistics, there is nothing in it that could constitute a violation. The weekly brief payload contains no names, email addresses, location, or account identifiers, so even the 30-day retained copy would not be traceable to you. Progress photos are stored in your AwesomeBody account only - they are sent to Anthropic only when you explicitly use the AI comparison feature, retained for up to 30 days by Anthropic, then automatically deleted; they are never used for training. If you never use any AI feature, Anthropic receives nothing at all. See anthropic.com/privacy for full details.

What we never do
  • Sell your data to anyone
  • Share your data with advertisers or data brokers
  • Use your data for marketing profiling
  • Serve advertisements in the app
  • Use third-party analytics or session recording
  • Receive, store, or process your Apple Health export file - it never leaves your device; only the small extracted numeric records you choose to import are transmitted to your account
🔒 Women's Health data - enhanced protections

Menstrual cycle data and menopause/perimenopause symptom logs are treated as the most sensitive category of health data in this application. The following guarantees apply absolutely to all Women's Health data and cannot be changed by any settings toggle:

  • Never transmitted to Anthropic AI - cycle dates, notes, history, and all menopause symptom data (hot flushes, night sweats, HRT notes, etc.) are excluded from all AI features with no exceptions. An optional opt-in exists solely to include the current cycle phase name and day number (e.g. "Luteal, Day 18") in the weekly AI brief - nothing else. Menopause data is never included in any AI feature under any circumstances.
  • Excluded from all admin/support access tools - Women's Health data is architecturally excluded from any in-app admin, export, or support tool, regardless of the "Allow support access" privacy toggle. There is no mechanism by which support staff can access this data.
  • Never visible to other users - enforced by database Row Level Security in the same way as all other personal health data.
  • Only shown to users who have set their sex to female in profile settings - the Women's Health section is hidden by default and only rendered for users who have identified as female. Profile sex can be changed at any time in Settings → Profile.

On self-hosted (node server) installations all Women's Health data is stored exclusively in your local SQLite database and never leaves your own server. On Supabase-hosted installations, data is encrypted at rest (AES-256) and protected by Row Level Security.

Support access & privacy toggle

In Settings → Privacy, the "Allow support access" toggle controls whether the operator's in-app admin export tools can access your structured data. When off, those tools are blocked. You control when to grant temporary access for troubleshooting. Note: this toggle controls in-app access only - the operator, as Supabase project owner, retains the ability to access data directly through the Supabase dashboard regardless of this setting. This is a practical UI control, not a waiver of any legal rights. The operator remains legally obligated under UK/EU GDPR at all times.

Progress photos and Women's Health data are always excluded from support access - regardless of whether the toggle is on or off. Photos are architecturally isolated in your private Supabase Storage bucket, and Women's Health cycle data is architecturally excluded from all in-app admin tools. Neither is accessible through any admin, export, or support function. The privacy toggle has no bearing on either.

Your GDPR rights
Access (Art. 15)
Request a copy of all data held about you.
Portability (Art. 20)
Export your complete data as JSON from Settings → Your data - always available, no need to ask.
Rectification (Art. 16)
Correct any data directly in the app at any time.
Erasure (Art. 17)
Delete your account and all data directly from Settings → Your data. Deletion from the active database is immediate and permanent.
Restrict processing (Art. 18)
Use the privacy toggle in Settings to limit operator access to your data.
Object (Art. 21)
Object to processing at any time. As processing is based on contract performance and explicit consent, you may withdraw consent by deleting your account.
Complain (Art. 77)
Lodge a complaint with the ICO (UK) at ico.org.uk or your national data protection authority (EU).
Deletion & backup retention

When you delete your account (Settings → Your data → Delete), all your data is removed from the active database immediately. Download a backup first - it's the only way to preserve your history.

A note on Supabase backups: Supabase retains encrypted database-level backups for a limited period (typically 7 days) for disaster recovery purposes only. These backups exist to protect against catastrophic data loss - not to recover individual user deletions. They are not accessible to you. The operator will not attempt to restore your data from a backup following a deletion request. These backups expire automatically within the retention window. For all practical purposes, deletion through the app is permanent.

Age requirement

AwesomeBody is available to users aged 16 and over. This is the age at which individuals can give their own valid consent for the processing of special-category health data under UK GDPR. The date of birth entered at sign-up is used only for a client-side age check and is never stored on our servers - it is distinct from the optional profile date of birth you may choose to provide during setup (which is stored and used solely for AI personalisation, as described above).

Full privacy policy available at the AwesomeBody website under Privacy & GDPR. Last updated April 2026.

AwesomeBody

Change training day?

Set today as Day N?

⚡ Log a spontaneous session

Describe what you did in plain English - AI will interpret and log it. Examples:
"Brisk walk 1 mile in 20 mins with 13kg rucksack"
"20 press-ups, 3 sets"  ·  "30 min jog in the park"

+ Add exercise to today

Pick any exercise - it opens in the training log with today's date set.

Switch split group
Switching to . Where in the cycle should it start?