Five steps · One screen each

How Macros + Miles actually works.

Most logging apps make you do the math, then chart the math. We do the math and tell you what to do tomorrow. Here is the daily loop in five steps — the same loop our beta users settled into within the first week.

Read top to bottom in five minutes. By the end you will know if Macros + Miles fits your training, your appetite for data, and your patience for one more app on your phone.

  1. 01

    Step 1 of 5

    Open the day

    Every morning, your dashboard greets you with three numbers — yesterday's mileage, last night's sleep, and today's target calorie band — pulled from the run you logged the day before and the plan your coach (or you) set at the start of the block.

    The dashboard is the only screen you have to open to know whether to push or pull back. If your sleep is below your seven-day baseline by more than thirty minutes, the target band shifts to the recovery preset automatically. If yesterday's training stress score crosses your fitness threshold, the carb target nudges up by 8% before you even tie your shoes.

    Yesterday

    14.2 km

    Sleep

    7h 12m

    Target band

    2,680 ± 250

  2. 02

    Step 2 of 5

    Eat against a target, not a goal

    Macros + Miles does not show you a calorie deficit. It shows you a daily target band — a 250-calorie window calibrated to the run you have scheduled today, not the one you finished yesterday.

    A long-run Saturday and a recovery Tuesday should not share a target. Most apps treat them the same, then ask you to manually adjust. We do the math from your training plan, your last seven days of actuals, and your goal weight curve, and we land you inside a band that matches the demand of the day. You hit the band. That is the only metric that matters.

    Today's band — long-run Saturday

    2,2003,140 logged3,800
  3. 03

    Step 3 of 5

    Log a meal in seven seconds

    The fastest meal logger we could build. Open the app, hit +, speak the meal — "three eggs, one slice sourdough, half avocado" — and the entry lands fully macro-split and timestamped to the minute.

    Voice entry is powered on-device, so a meal logged in a dead-zone cabin gets queued and synced when you find signal. Recurring meals — your usual Sunday oats, your post-long-run shake — are one tap. The seven-second target is real; we measured against the median entry across two weeks of beta users and that is what we landed on.

    + Add meal · voice

    "three eggs, one slice sourdough, half avocado"

    P

    24

    C

    28

    F

    26

    kcal

    442

  4. 04

    Step 4 of 5

    Run, then attach the run to the meal

    When your watch finishes a run and uploads to Strava, Garmin, or COROS, the run appears in your log within sixty seconds. We auto-attach it to the meal window it sits in — pre-run breakfast, mid-run gels, post-run shake — so your fueling lines up with the work.

    Attachment matters more than you think. A 90-minute long run fueled with 22g of carbs an hour does not show its outcome in the calorie ledger; it shows up in your splits at minute 75. By attaching meals to runs we can show you the relationship over weeks: how your last 60 minutes split out as you raised in-run carb intake from 30g to 60g. That is the kind of correlation a single-purpose app cannot make.

    • 06:12 · pre-run oats + banana ↦ run window
    • 07:38 · mid-run gels ×2 ↦ during run
    • 09:05 · recovery shake ↦ post-run 90m
  5. 05

    Step 5 of 5

    Read the week, not the day

    Sunday night, your week closes with a single screen. Mileage, average pace, sleep, calories, protein floor, longest run, and the one variable the app thinks moved most. Not a list of every meal — a paragraph of plain English.

    The weekly summary is the page we are proudest of. It is short on purpose. It tells you the one thing that changed, points to the next thing to watch, and stays out of your way the other six days. Most users find they stop checking the daily numbers after a month and check only the Sunday summary — which is the goal. The training and the eating should become a habit; the app should become quiet.

    Week 11 — closing summary

    62.8 km across 5 runs · avg pace 5:18/km · sleep average 7:01 · 18,640 kcal · protein floor hit 6 of 7 days. The variable that moved most this week was mid-run carb intake, up from 38g to 54g/hour — your long-run last 10k split was 7 seconds faster on the same effort. Hold that fueling next week.

Under the hood

What the app actually tracks.

Five surfaces. Each one earns its space because removing it would force you back into a second app. The unifying rule: if a number cannot affect what you do tomorrow, it does not get a tile.

Training plan input

Paste a plan, import a coach.cc file, or build week-by-week — the planner reads all three.

Adaptive macro targets

Protein floor, fat minimum, carb target. Targets shift on the day, not at the end of the week.

In-run fueling log

Time-stamped gels, drinks, and chews — auto-rolled into the day total.

Recovery surface

Sleep band, resting HR trend, and a single "go / soft / pull" recommendation each morning.

Body composition trend

Weekly weight average smoothed against your menstrual or training cycle, not your daily noise.

Integrations

What plugs in.

All integrations are read-write where supported, OAuth-only — no scraping, no password storage.

  • Strava

    OAuth, two-way sync, full activity history

  • Garmin Connect

    OAuth, runs sync within 60 seconds of upload

  • COROS

    OAuth, including indoor treadmill calibration

  • Apple Health

    Sleep, resting HR, body weight read; macros write

  • Google Fit

    Sleep and weight read-only

  • Whoop

    Recovery score pulled into the daily target shift

Common questions

Before you sign up.

Do I have to weigh my food?
No. The library uses USDA portion sizes for non-weighed entries — a "medium banana" is 118g, a "slice of sourdough" is 56g. If you weigh, you get a tighter band; if you eyeball, the app rounds in your favor by about 5% so you do not over-restrict on bad estimates.
Does this work for non-runners?
It works, but it is not what we built it for. The training-aware target adjustment is calibrated against running training stress. Cyclists and rowers will get reasonable estimates; lifters and CrossFitters should look elsewhere.
What happens if I skip a day?
Nothing. There is no streak counter, no shame badge, no reminder that escalates. The app catches up when you come back. Most of our users skip Sundays during taper weeks and we built the dashboard to absorb that without throwing the trend lines.
Can I share my log with a coach?
Yes. Coaches get a read-only seat for free. You give them a link, they get the same weekly summary you do, plus the daily detail if you want them to see it. No coach upsell, no separate billing, no enterprise tier.

See it on a real week.

The latest training log walks through every step of the loop above with actual numbers from week 11.