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 trend | App adjustment |
|---|---|
| 0.25–0.45 kg/week loss | Keep calories |
| Less than 0.20 kg/week loss | Reduce easier days by 100 kcal |
| More than 0.60 kg/week loss | Add 100 kcal to hard days |
| No 7-day average yet | Use latest weight input for weight-based calories |
| Bodyweight changes | Calories change by your “calories per kg” setting versus restart weight |