optiHealthoptiHealth
    FeaturesMethodGlossaryAndroid

    Proofable biohacking

    Your N-of-1 biohacking platform.

    optiHealth syncs your wearables, supplements, feelings and places — then runs real statistics on a cohort of one. Correlations that pass false-discovery gates. Forecasts you can check against what actually happened. Evidence, not vibes.

    Syncs WHOOP · Oura · Fitbit · Health Connect

    New insight · Cardiovascular

    Magnesium nights precede lower resting HR.

    resting hrmg nights
    ρ = −0.53lag 1 dn = 91FDR ✓
    conf
    87%
    ✓ survives placebo control

    How it works

    Claim. Evidence. Verdict.

    01

    Sync

    WHOOP, Oura, Fitbit and Health Connect stream in over webhooks. Backfill runs in resumable windows — nothing is hand-entered twice.

    02

    Analyze

    A nightly statistical sweep across every metric pair: Spearman correlations, lag scans, regime shifts, Bayesian counterfactuals — and a forecast saved before the day it predicts.

    03

    Prove

    Only claims that survive a false-discovery gate and placebo controls reach your feed — with n, effect size and confidence attached.

    • Insights
    • ·Data
    • ·Forecasts
    • ·Circadian
    • ·Feelings
    • ·Tags
    • ·Places
    • ·Supplements
    • ·Day
    • ·Focus
    • ·Agents
    • ·Atlas

    Insights

    Claims that earn their place.

    The insight feed reads across every signal you log and emits one falsifiable claim at a time. The statistics sit on the face of the card — and when a control explains a finding away, the card says so.

    • 10 domains · 7 kinds of evidence
    • Spearman ρ behind a Benjamini–Hochberg gate
    • Bayesian counterfactuals from your own unaffected signals
    Sleep

    Screens past 23:00 cut your deep sleep.

    ρ = −0.41lag 0 dn = 74FDR ✓
    observed
    placebo date
    −1 SD0+1 SD
    ✓ survives placebo control

    Data

    Every number, explorable.

    Zoom, pan and overlay any two metrics on dual axes. Brush a range, scan a year at a glance. Your dataset is yours.

    • Line, bar, scatter — with dual-axis compare
    • Year heatmap: darker = higher
    • Brushable mini-map over the full history
    • Day view plots series inside one local day — daily scalars stay on the longer chart
    • Sleep, training, coverage and ECG explorers — waveforms displayed, never interpreted
    Resting HRvsSleep efficiency
    Year at a glancedarker = higher

    Forecasts

    Check it against what happened.

    Tomorrow, or the next 7-day average, for HRV, resting heart rate, sleep, steps and breathing rate. The range is built from previous forecast errors — and only after thirty of them. When the day arrives, the actual is scored separately. A source change or a timezone change is not a miss you can count.

    • Saved at the time, or reconstructed from finalized data
    • Range only when calibration n ≥ 30
    • Outside the range is still scored
    • Source or day-definition change is not scored

    Illustration

    48 ms

    Tomorrow

    Own history · range from past forecast errors

    41forecast56

    Actual 51 ms

    Scored · inside the saved range

    Circadian

    Your clock is not the wall clock.

    BioTime is civil time shifted by a phase estimated from your sleep midpoint and the daily shape of your heart rate. BioLoad is accumulated sleep pressure (Process S). PRIME is predicted drive on the same KSS scale you can actually log.

    • BioTime and BioTime-shift against your own baseline, not the population
    • BioLoad piecewise-exponential, with a 7-day burn-in
    • PRIME reports a window — and refuses a clock reading when phase σ > 2 h
    BioTime +1.8 h
    00061218

    Drag the hand

    BioLoadPRIME window
    0006121824

    Feelings

    Log a feeling in one gesture.

    Sixteen words, most pleasant at the top. Sweep down the column and release — you never lift your finger. Arousal is never asked for; it shows as color, glow and motion.

    • NRC-VAD valence and arousal norms
    • One-handed, sub-second logging
    • Valence traces by hour, day and week
    • KSS × tension in one tap, anchors on the axis
    How do you feel?one gesture
    valence +0.02arousal 0.40

    Tags

    Name the experiment.

    Sauna, fasting, travel — declare the thing, paint the last 14 days. A long-press stamps the hour. The nightly sweep treats a tag as an intervention. On Android, a spoken day proposes tags; you confirm.

    • Custom tags are analysis inputs (tag_impact)
    • Long-press or shift-click stamps the time
    • Voice extraction never auto-commits

    Last 14 days

    tap to paint · hold to stamp
    MTWTFSSMTWTFSSSaunaFastingTravelSleep cube

    tag_impact · sauna → HRV +4.2 ms · FDR ✓

    Places

    Where you are shapes how you sleep.

    Home, work, gym — anchors are discovered from raw location by density clustering, then correlated against sleep and recovery. Raw points live 21 days, then they're gone.

    • DBSCAN anchor discovery
    • Location ↔ recovery correlations
    • One tap deletes all location data
    • Weather at the hour you were there (Open-Meteo)
    HomeWorkGymDBSCAN · 3 anchors · 21-day retention
    time at home ↔ sleep efficiencyρ 0.41 · n 58

    Supplements

    Doses you can trust.

    Every product resolves to compounds and canonical elemental doses — 200 mg of elemental magnesium, not “2 capsules”. Your stack becomes a habit-aware checklist, and every check is a data point in the next sweep.

    • iHerb search, URL scrape, barcode lookup
    • Elemental dose normalization
    • Habit-derived daily stack
    • Log a whole stack at a chosen date and time
    • Bottle photo on Android

    Today's stack

    0/4 logged

    iHerb lookup · barcode scan · elemental doses

    Day

    One local day, in order.

    Sleep, a dose, a feeling, a timed tag, a workout — on the clock of the day they happened, not a weekly average. A tag with no time does not get a dot. Day view only offers series that have samples inside the day. Weight stays on the longer chart.

    • Sleep, doses, feelings, tags and workouts on one axis
    • Timed tags only
    • Series metrics in day view — daily scalars have nothing to plot

    Illustration

    Tuesday

    00:00

    0006121824

    Fasting has no time — it does not get a dot.

    Focus

    Name the metric. Hide the rest.

    Pick one thing you want to move. The feed keeps only findings that touch it, and ranks what else moves it — the other metric, the correlation, the lag. Lenses are optional. Each one says how many cards it would remove before you turn it on.

    • One optimization target, kept across reloads
    • A driver counts only if it points at that metric
    • Seven lenses, priced before they hide anything
    • Device-change steps stay hidden by default — a new watch is not a new body

    Illustration

    1 related

    • Screens past 23:00ρ −0.41 · lag 0 din
    • Alcohol evenings−6.2 ms · lag 1 dother
    • HR step on a new watchhidden by lens · not deletedlens
    • Morning runsρ 0.33 · lag 0 dother

    Moves it: Late screens · ρ −0.41 · same day

    Agents

    Ask your own health record.

    Connect a private agent over MCP. It can read coverage, series, sleep, workouts, doses, feelings, tags and saved insights. It cannot write. Challenge a finding and it has to reproduce the evidence — or say what is missing.

    • Read-only MCP
    • deepen_insight / investigate_relationship
    • Revoke the grant any time
    Agentread-only

    You

    How have my sleep and recovery changed over the last month?

    optiHealth
    get_metric_serieslist_insights

    Deep sleep is up 18 min on nights without screens past 23:00.

    survives placebo · n = 74 · FDR ✓

    read-only · revoke anytime

    Evidence, not vibes

    Most correlations die here.

    That's the point. optiHealth is opinionated about false positives: a claim that can't survive controls isn't an insight — it's noise.

    • Benjamini–Hochberg false-discovery gate on every sweep
    • Placebo dates and synthetic controls (BSTS, Brodersen 2015)
    • Effect sizes with confidence intervals — n is always on the card
    • “Explained away” is a verdict we actually show

    hypotheses tested

    0

    survived

    0

    one nightly sweep · benjamini–hochberg fdr · q < 0.05

    The rest of the product

    Every unique surface.

    The sections above are the mechanisms. This is everything else optiHealth actually has — named, not categorized.

    Collect

    • WHOOP · Oura · Fitbit · Health Connect

      Webhooks and resumable backfill. Nothing is typed twice.

    • Android

      Health Connect in the background, offline logs, voice notes.

    • Voice tags

      A spoken day proposes tags. You confirm — nothing auto-commits.

    • Quick log

      One ⌘L for a feeling, your state, a dose, or a metric.

    • State grid

      One tap: Karolinska sleepiness × tension. Nine published anchors on the axis.

    • Weather

      Open-Meteo at the hour a location ping existed. Never invented.

    • Add a product

      iHerb, URL, bottle photo, barcode — stored as elemental dose.

    • App usage

      Screen time as a digital signal, not a diary.

    See

    • Day timeline

      One local day of sleep, doses, feelings, tags and workouts.

    • Sleep explorer

      Architecture and regularity. Not a readiness score.

    • Training

      Frequency, volume, consistency. No CTL, ATL or ACWR.

    • Coverage

      Days each provider actually delivered — from rows, not status.

    • ECG

      Waveforms as recorded. Informational only. We never interpret.

    • Forecasts

      Tomorrow and the next 7-day average. Scored against what happened — or refused.

    • BioTime tile

      Your body-clock offset, on the home dashboard.

    • Circadian glossary

      How BioTime is computed, and the uncertainty on the number.

    Prove

    • Optimization target

      One metric. Related findings only, plus what else moves it.

    • Lenses

      Each one prices how many cards it would hide before you flip it.

    • Seven evidence kinds

      Association, precedence, regime shift, counterfactual, anomaly, rhythm, profile.

    • Ten domains

      Sleep through digital — including environment, place and whole-day patterns.

    • Tag impact

      A painted day is an intervention arm, not a caption.

    • Share one insight

      A revocable /i/… link. Never the account.

    • Explained away

      A verdict we show on the face of the card, not a footnote.

    Ask

    • Private MCP server

      Your agent, your record — over a protocol, not a chat box we own.

    • Read-only tools

      Context, measurements, records, insights. Nothing writes back.

    • Challenge a finding

      deepen_insight has to reproduce the evidence or say what is missing.

    • Revocable grant

      OAuth consent, disconnect from Agents. The grant dies with the tap.

    Your data

    Private by default. Transparent when shared.

    Row-level security end to end. Delete anything, any time. Share a single insight with a revocable link — never your account.

    Row-level securityDelete anythingRevocable share links

    Start your N-of-1

    Your body runs experiments every day.

    Start reading the results.

    Get the Android app →
    optiHealthoptiHealth
    PrivacyTermsDownload© optiHealth