Half Marathon Calorie Coach

Premium static Cloudflare Pages version • decimal weights • weight-based dynamic calories

Your current target

Dynamic calories from weekly phase + 7-day weight trend.

Today’s check-in

Weekly review

This week’s calories

Saved weights

Saved locally on this device/browser. Export your data occasionally as a backup.

Training plan

Half marathon structure: Monday run, Wednesday quality run, Saturday long run. Weights sit on Tuesday, Thursday and Friday.

Weekly phase guide

Meal JSON import

Import meals from JSON, assign them to days, and compare meal totals against your calorie targets.

Supported JSON: either an array of meals or an object with meals and optional assignments. Each meal can include name, calories, protein, carbs, fat, time, and items.

Assign meals to days

Meal library

Polar in static mode

A fully static Cloudflare Pages app cannot securely connect to Polar OAuth because the Polar client secret must not be stored in browser code. This version supports manual Polar-style session entry/import only. Calories also scale automatically with your latest/weekly weight. Use the backend version for real Polar account sync.

Manual training load

Optional: add actual training calories from Polar manually. This helps you compare planned vs actual load.

Settings

Dynamic calorie rules

7-day trendApp adjustment
0.25–0.45 kg/week lossKeep calories
Less than 0.20 kg/week lossReduce easier days by 100 kcal
More than 0.60 kg/week lossAdd 100 kcal to hard days
No 7-day average yetUse latest weight input for weight-based calories
Bodyweight changesCalories change by your “calories per kg” setting versus restart weight