How Hangry thinks

The math, the citations, and where we use judgment.

Calorie target

We start with your basal metabolic rate using the Mifflin-St Jeor equation (Mifflin et al., 1990), the most widely validated BMR formula in clinical use.

We multiply BMR by an activity factor derived from your average Whoop strain score (or a default of 1.45 without Whoop). Higher strain → higher multiplier, on a discrete scale anchored to MET equivalents.

After your first week of data, we switch to a back-calculated TDEE: your actual intake minus the energy implied by your weight change (7,700 kcal ≈ 1 kg of fat tissue). This adapts to your real metabolism, not a textbook estimate. Recalculated weekly.

For weight loss, we cap the deficit at 500 kcal/day (≈ 1.1 lb/week), consistent with the ISSN position stand on diet for body composition (Aragon et al., 2017).

Hard floor at 1,500 kcal/day. No matter how aggressive your goal, we will not set you below this. This is conservative versus the strictest clinical floors (~1,200 kcal for women, ~1,500 for men) on purpose.

Protein target

We target 1 g of protein per pound of your goal weight (≈ 2.2 g/kg). For body composition during a deficit, this is the upper end of the ISSN recommendations (Jäger et al., 2017) and the range Helms et al. (2014) found optimal for natural lifters in a cut.

Protein does not flex with activity. Recovery protein needs are roughly flat day-to-day (Phillips & Van Loon, 2011).

Activity is additive, not subtractive

On heavy training days we expand your calorie target. On rest days we never shrink it. Undereating on training days impairs adaptation and recovery (Loucks, 2004; Mountjoy et al., 2018 on RED-S). The asymmetry is intentional.

The bonus is computed as min(800, max(0, today_burn − typical_burn) × 0.6). The 0.6 factor is a heuristic, not a citation: it hedges against (a) Whoop's known tendency to overestimate burn and (b) the fact that some of today's activity was already in the original TDEE estimate. We may tune this as we learn.

Recovery-aware day types

When your Whoop recovery is low (high HRV deviation, poor sleep, accumulated strain), we classify the day as a recovery day and tilt your macros — slightly more carbs, slightly easier deficit. This follows HRV-guided training literature (Plews & Laursen, 2017).

What we deliberately don't do

Limitations we're honest about

Whoop integration

Hangry is a registered Whoop developer app, authorized by Whoop, Inc. to access your data via their official API. We only read what you authorize during OAuth (recovery, strain, sleep, workouts, calories burned). We do not write to your Whoop account. Your Whoop tokens are encrypted at rest with AES-256.