Skip to content
The LockIn90 pipeline

From raw signals to your why.

Four stages turn the noise from your wearables, CGM and calendar into one decision you can act on before noon — and we show our work the whole way down.

The pipeline · personalized, not population averages · 34-slot circadian curve · statistically validated
Step 01 · Connect dataStep 02 · Model effectsStep 03 · Score + forecastStep 04 · Act on the why
01 · Connect your data

Every signal, one timeline.

LockIn90 ingests the streams you already generate — wearables, Apple Health, your CGM, your calendar, and the moments you log in three taps — and aligns them on a single, timezone-aware event timeline.

Wearables — Oura, WHOOP, Garmin & Polar push sleep, HRV (ms), RHR (bpm), strain & readiness.

Apple Health & Health Connect — a unified bridge across iOS and Android sources.

CGM — Dexcom & Freestyle Libre glucose curves feed the metabolic effect models.

Calendar & logged events — meetings, training, caffeine, meals, mood — each a timestamped node.

5 source categories · backfills 30d on connect.

Source ingest · LIVE SYNC

Oura · Apple Health · Dexcom CGM · Calendar · Logged events → UNIFIED TIMELINE

PK decay curves → 34 slots · SUPERPOSED

Caffeine 180mg @ 16:00 (t½ ≈ 5h) · Glucose post-meal spike (peak +45m) · Sleep debt 6h vs 7.8h base (drag all-day)

02 · Model the effects

Every event becomes a curve, not a flag.

A caffeine at 4pm isn't a yes/no — it's a rising-then-decaying influence on your alertness. LockIn90 runs each event through a family of effect generators built on pharmacokinetic (PK) half-life models, then projects them onto a 34-slot circadian curve.

PK / half-life models — caffeine ~5h, alcohol clearance, glucose rise & dip each decay on their own clock.

Effect generators — modular, versioned families (caffeine v2.3, sleep-debt v1.8) that compose per event.

34-slot circadian curve — your day is modeled in ~42-minute slots so peaks and dips land where they truly are.

Superposition — overlapping effects sum into a single net influence on each slot.

model v4.2 · 34 slots / day · 12 generator families.

03 · Energy curve + score + forecast

One number, the whole curve, 31 days out.

The superposed effects collapse onto your personal baseline to produce your energy curve, a single 0–100 score, and a 31-day forecast from your scheduled events and habits.

Energy curve — the 34 slots rendered as the shape of your real high and low windows.

Score — HIGH ≥ 67, MODERATE 34–66, LOW < 34, zoned against your baseline.

31-day forecast — runs scheduled events & recurring habits through the same generators ahead of time.

SCORE 84 · 31-day horizon.

Today · score & curve · HIGH

Energy 84 · 34-slot curve peaks late morning, dips mid-afternoon (3PM), recovers evening; dashed forecast projects tomorrow.

Why your score moved · −10 vs base

Morning training +6 · Late caffeine −9 · Short sleep (6h) −7 · Insight: move caffeine cutoff to 13:00 → est. +8 by 3PM.

04 · Act on the why

The score moved. Here's exactly why.

A number you can't explain is just anxiety. LockIn90 traces every point up or down to a cause — then turns that attribution into insights and, if you choose, a privacy-gated coach view.

Attribution — late caffeine −9, short sleep −7, morning lift +6 — quantified, not guessed.

Insights — repeating loops surfaced: "afternoon dips follow late espresso 4 days in 5."

Coach — share a read-only energy view; coaches see trends, never your raw private logs.

show your work · privacy-gated coach.

A model that learns you.

You get a score on day one — but confidence grows as the model replaces population priors with your own physiology. No averages. Your baselines, your thresholds.

  • Day 1: First score using population priors — 41% confidence.
  • Day 7: Your sleep & HRV baselines forming — 63% confidence.
  • Day 14: Effect sizes tuning to your responses — 79% confidence.
  • Day 30: Fully personalized — attribution sharpens — 96% confidence.

Confidence over time

Model confidence climbs from 41% on day one to 96% by day 30 as more of your data calibrates it.

9am12pm3pm6pm9pm

We don't claim it. We test it.

Before an effect generator ships, it's validated against real cohort outcomes with paired statistics — so the numbers you act on are signal, not story.

Paired t-tests

Each candidate generator is replayed against a held-constant cohort — version A vs version B on the same days — so we measure the effect, not the noise. Paired · within-subject · n = 1,284 days.

p-values & significance

We only promote a change when it clears a real threshold. The late-caffeine penalty: p = 0.003, well under 0.05. α = 0.05 · two-tailed.

Effect sizes

Significance isn't enough — we report how big the effect is. Cohen's d quantifies whether a driver actually matters to your day. Cohen's d = 0.62 · medium–large.

A/B replay · caffeine v2.3

Distribution of paired score deltas, late-caffeine days (μ ≈ −8.4) vs matched controls (μ ≈ 0). p = 0.003 · significant.

24
−20
54
−15
76
−10
62
−8.4 (late caffeine)
34
−5
70
0 (controls)
30
+5
p=0.003
late-caffeine penalty
0.62
Cohen's d · effect size
1,284
paired days analyzed
96%
confidence by day 30

From raw signals to your why.

Connect a source, log a few moments, and get your first fully decoded day — score, curve and the why — by tomorrow morning.

Start free