UNFAIR
Download
Glossary · Stack Architecture

Stack Goal

Last updatedApr 21, 2026

A stack goal is the named outcome a stack is optimized toward — better sleep, sharper focus, faster recovery, longevity-adjacent biomarker shifts, more strength output — bound to a specific primary proxy and a specific review window. The goal is what turns a collection of compounds into something that can be evaluated: without a goal, a stack can only be described as "things the user takes," and a review cycle has nothing to compare against. Unfair requires a goal at builder time because every ranking, every reminder priority, and every review chart is indexed on it.

Goal taxonomy and primary proxies

The library supports five canonical goals. Each has a primary proxy that defines success and a secondary proxy that protects against misreading the primary. The proxy pair is what a review cycle reads; the goal label is shorthand.

GoalPrimary proxySecondary proxyTypical review window
SleepSleep onset latency (SOL) under 20 minutes on ≥5 of 7 nightsDeep sleep percentage or wrist-HRV overnight trend14–28 nights
FocusSelf-scored deep-work block quality on a fixed 1–5 scale for one defined session per daySession count completed without a break-out14–28 days
RecoveryMorning subjective proxy readiness score 1–10 plus day-over-day DOMSHRV seven-day rolling mean and resting heart rate21–42 days
LongevityObjective proxy panel — apoB, fasting glucose, hsCRP, ALTVO2max estimate and grip strength at 12-week intervals12 weeks per panel, 6 months cumulative
StrengthTop-set load at a named lift or rep PR in a fixed rep rangeSession RPE and bodyweight trend4–8 weeks per training block

The primary proxy is the signal that moves the ranking. The secondary proxy is a sanity check — an SOL drop that arrives alongside a deep-sleep collapse is not the success the user wanted, even if the primary proxy fell in the right direction. Unfair's review cycle reads the pair, not the primary alone.

A numeric example

A user picks sleep as the primary goal with SOL as the primary proxy and deep sleep percentage as the secondary proxy. Baseline is 32 minutes average SOL over 14 nights with 14% deep sleep. After 21 nights on a magnesium glycinate 300 mg plus glycine 3 g pre-bed stack, SOL averages 18 minutes and deep sleep averages 17%. Both proxies moved in the goal direction, the primary crosses the under-20-minutes threshold on 6 of 7 recent nights, and the cycle review promotes the stack to maintenance. A counterexample — SOL at 16 minutes but deep sleep at 9% — would hold the stack in experimental status and flag sedation as a competing explanation.

Single-goal vs multi-goal stacks

A single-goal stack is the default. It has one primary proxy, one stack roster, and one review window, and it is the only shape the ranking can score cleanly. Multi-goal stacks exist — a "longevity plus recovery" stack is a common request — but they carry a cost, because a compound that moves the longevity panel slowly may mask a compound that would have moved recovery in four weeks. The builder accepts multi-goal stacks only when the goals share a proxy direction (recovery and strength share readiness and HRV) or when the user accepts a longer review window defined by the slowest goal. Competing goals — sedating bedtime stacks paired with wake-promoting focus stacks in the same roster — are refused and offered as two separate stacks with different timing instead.

The ranking logic in complete guide to supplement stacks under the stack composition section uses the goal plus its proxy pair as the scoring axis; compounds that do not plausibly move either proxy in the chosen goal's direction are not surfaced as candidates for that stack.

How the goal shapes the review window

Review windows are not arbitrary. Each goal's window is set by the slowest of its proxies. Sleep proxies stabilize in 2–4 weeks because circadian adjustment is fast. Recovery proxies take longer because HRV rolling means respond over 3–6 weeks. Longevity panels demand a full 12-week block because apoB and hsCRP do not move in less. A user who picks longevity and expects a two-week readout is set up to misread noise as success, so the builder refuses cycle lengths shorter than the chosen goal's minimum window.

Reprioritization triggers

A goal is not permanent. Three conditions prompt the builder to suggest a new goal rather than a new stack for the existing goal.

  • The primary proxy has not moved past the baseline noise band after two full review windows, and the secondary proxy is also flat.
  • Life context has changed enough to make the goal secondary — a new parent trading focus for sleep, a training de-load trading strength for recovery.
  • A contraindication or new prescription excludes the compound classes that most plausibly move the proxy, leaving the goal under-served.

Reprioritization is recorded on the stack history so the review chart shows why the primary proxy changed mid-cycle rather than treating it as a data gap.

Why the goal comes before the roster

New users often arrive with a product in mind and ask the builder to fit a goal around it. The order matters the other way. A goal names the proxy pair the stack will be scored on; a roster assembled first has no scoring axis, and any compound looks as promising as any other. Picking the goal first narrows the candidate set, defines what a good review looks like, and makes the difference between an evaluable stack and a bag of bottles.

How this appears in Unfair

Goal selection is the first step in the builder, before any ingredient is added. Each goal pre-loads its primary and secondary proxies into the daily check-in so the log is collecting the right signal from day one. Ranking weights candidate compounds by their evidence for the chosen proxy pair, not by generic popularity. Review cycles close when both proxies have enough data to read, and a stack cannot promote to maintenance on a primary-only signal. The first recommendations screen uses the chosen goal as the top filter so a new user sees a five-item shortlist rather than the full library.

Clinical safety note

A stack goal is an optimization target, not a diagnosis. Sleep that is getting worse over weeks, focus that has collapsed alongside mood, recovery that is trending down with unexplained weight loss, or biomarker shifts that move outside reference ranges are reasons to pause the stack and involve a clinician, regardless of whether the primary proxy is moving in the goal direction.