[SETUP]
Connect Apple Health or Health Connect to Base
[THE SHORT ANSWER]
Base reads from Apple Health on iOS and Health Connect on Android, and it reads only. Grant access in Settings, Health Sources, and active energy, resting energy, steps, workouts, heart rate, sleep and bodyweight flow in. Anything already writing into that store — Garmin, Whoop, Oura, Fitbit — arrives automatically, with no account to link. The one thing Base can write back is a bodyweight entry you logged yourself.
Granting access
Open Settings, then Health Sources, then the connect action. The system permission sheet appears and asks per data type.
Approve all of them. iOS asks once per type and does not re-ask for a type you decline, which makes a partial grant genuinely awkward to reverse later — you end up in the Health app's own settings hunting for the toggle. Approving everything and ignoring what you do not use costs nothing, because Base only reads.
What Base reads, and what each one is for
| Data type | Used for |
|---|---|
| Active energy | The moving half of your daily calorie target |
| Basal energy | Resting expenditure, projected to a full day |
| Steps | A walking-calorie estimate when active energy is unavailable |
| Workouts | Session calories, endurance grading, threshold estimation |
| Heart rate | Live session vitals, zones, workout detail |
| Resting heart rate | Recovery scoring |
| Heart-rate variability | Recovery scoring, the heaviest single input |
| Respiratory rate | Shown on the recovery screen |
| Sleep analysis | Sleep score, stages, and the sleep term in recovery |
| Bodyweight | Weigh-ins, if you record them on another device |
Why two devices never get added together
This is the most important thing to understand about multi-device setups, and it is where most fitness apps quietly get it wrong.
On iOS, Garmin Connect, Fitbit, Whoop and Oura all write into Apple Health. That means a bridged provider's samples are already inside Apple's own totals. Adding Garmin's 11,000 steps to Apple's 11,000 steps would report 22,000 and inflate the day's expenditure by roughly a workout's worth of calories.
So Base never sums across sources. Every metric picks exactly one winner: the first provider in that metric's priority order that holds a non-null value for the day.
The priority order differs per metric, on purpose:
- Totals (steps, energy) prefer Apple, because on an iPhone it is the union of every source including the bridged ones. It is the complete picture.
- Specialist metrics (heart-rate variability, sleep staging) prefer the device that actually measured them, because a chest strap or a ring measured it directly and Apple is relaying it.
A metric with no value anywhere stays empty rather than becoming zero. The Health Sources screen names the winner for each of today's numbers so you can always see which device Base believed.
What connecting actually changes
The visible difference is that your calorie target starts moving.
Without health data:
target = committed maintenance + surplus (a fixed number)
With health data:
restingProjected = basal so far × 1440 ÷ minutes elapsed
expenditure = restingProjected + active so far + manual entries
target = expenditure + surplus (rises as you move)
Resting is projected to twenty-four hours because the platform reports it as a running total — a target built on the raw sum would read around 750 calories at breakfast. Activity is never projected, because promising calories for a walk you have not taken yet means the number sags every time the forecast fails.
That is why a long Saturday ride shows up in Saturday's allowance rather than being paid for out of a guess made on Monday. See how your calorie target works for the full derivation.
Android and Health Connect
The Android build reads Health Connect instead, behind the same interface. The data types map one to one, and the app never hard-codes "Apple Health" in its own copy — the screens say whichever store your platform uses.
Health Connect has one setup wrinkle Apple does not: some apps need to be granted write access to Health Connect separately before their data appears there at all. The Health Sources screen calls that out when it detects it.
Diagnosing a metric that is not arriving
The Health Sources screen carries per-type diagnostics: each data type with the number of samples read and any error returned. This exists to distinguish two things that look identical from the outside.
- Zero samples, no error — Base asked and the store had nothing. Either the day genuinely has no data, or the permission was never granted.
- An error string — the read itself failed. The message is shown rather than swallowed.
A type reading zero samples on a day you know your watch recorded is a permission that did not stick. Full walkthrough in fixing missing health data.
Common mistakes
Granting some types and not others. iOS will not re-ask, so this is much harder to undo than to avoid. Approve everything at the prompt.
Expecting Base to connect to Garmin or Whoop directly. It does not, and does not need to. Those services write into Apple Health and Base reads Apple Health. There is no account to link and nothing to authorise beyond the system sheet.
Assuming a missing night of sleep is a bug. If the watch was charging, there is no data. Base says there is no data rather than rendering a zero, and that is the correct behaviour — a zero would drag your thirty-day sleep baseline down and quietly corrupt the recovery score for a month.
Wearing two devices and expecting a merged number. One wins per metric. That is deliberate, and the screen tells you which.
Reading the workout calorie figure as gospel. Active energy from a wrist device is an estimate with real error bars, which is exactly why the eat-back calculation adds back 90% of the excess rather than all of it.
What to do next
Open Settings, Health Sources, and check the per-type sample counts. If any type you expect data for reads zero, that is a permission rather than a gap — fix it now, because a metric that has never arrived is invisible on every screen that depends on it.
Questions
Does Base work with Garmin, Whoop, Oura or Fitbit?
Yes, indirectly and without any extra setup. All of those write into Apple Health on iOS, and Base reads Apple Health. It does not connect to their APIs directly, which means you do not sign in to anything, and it also means whatever your device has already written is available immediately rather than after a sync.
Why does Base never add two sources together?
Because bridged sources are already inside Apple's totals. Garmin writing 11,000 steps into Apple Health and Apple reporting 11,000 steps are the same 11,000 steps. Adding them would report 22,000 and inflate the day's expenditure by a full workout's worth of calories. Every metric picks exactly one winning source instead.
What data does Base actually read?
Active and basal energy, steps, workouts, heart rate, resting heart rate, walking heart rate, heart-rate variability, respiratory rate, sleep analysis and bodyweight. It reads only — the sole thing it can write back is a bodyweight entry you logged yourself.
Why is a metric showing no data when my watch clearly recorded it?
Almost always a permission that was never granted, because iOS asks per data type and a permission refused once is not asked again. The Health Sources screen shows a per-type diagnostic with sample counts, which distinguishes a denied permission from a genuinely empty day. A zero sample count on a type you know has data is a permission problem.
Can I use Base without connecting any health data?
Yes. Food, bodyweight, trend weight, adaptive maintenance, lifting and progress photos all work from what you log. Sleep, recovery and heart screens will state that there is no data rather than showing a zero, and your calorie target falls back to committed maintenance plus your surplus instead of moving with measured activity.
[KEEP READING]
[HELP]
Which Device Base Believes, and Why
Two devices are never added together, because a bridged source is already inside Apple's totals.
[HELP]
Fix Missing Sleep, Heart or Energy Data
A zero sample count on a type you know has data is a permission, not a gap.
[HELP]
Getting Started With Base: Your First Week
Day one is four things. Everything else can wait until the app has data to work with.