# Baseline — Product Definition

> **Know what moves your numbers.**
> An AI lifestyle and blood-pressure companion that learns which of *your* habits raise *your* blood pressure — and proves it with your own data.

**Status:** Proof of concept. Static HTML/CSS/JS. All data synthetic.
**Register:** Product (app UI + admin console) with one brand surface (`index.html`).
**Prepared by:** Shanti Infosoft · for client evaluation

---

## 1. The problem

A person is told their blood pressure is "a bit high." They are given generic advice — eat less salt, sleep more, stress less, move more — and no way to know which of those actually matters *for them*.

The evidence is clear that lifestyle drives blood pressure. The [2025 AHA/ACC guideline](https://www.jacc.org/doi/10.1016/j.jacc.2025.07.010) makes lifestyle modification the first-line intervention for every adult with elevated BP, and for the first time names **stress management** alongside diet, activity, sodium and alcohol. But the guideline speaks to populations. It cannot tell an individual that *their* systolic rises 7 mmHg the morning after a short night, while their sodium intake barely moves the needle.

That gap — population advice versus personal causation — is the product.

## 2. What Baseline does

1. **Establishes a personal baseline.** Twice-daily readings under a guided protocol until there is enough signal to know what "normal for you" is.
2. **Captures the day in under 60 seconds.** A push-prompted micro-questionnaire covering sleep, stress, work strain, movement, diet and sodium, hydration, caffeine, alcohol, smoking, and medication adherence — most of it pre-filled from wearables.
3. **Finds the drivers.** A per-user model correlates lifestyle features against subsequent readings, accounting for lag, and reports effect sizes in mmHg with honest confidence.
4. **Tells the user what to change, in order.** Ranked, specific, quantified: *"Sleep under 6 hours raises your next-morning systolic by 7.4 mmHg. Based on 23 nights. High confidence."*
5. **Proves it worked.** n-of-1 experiments with pre/post readouts, and a monthly report that can go to a GP.

## 3. What Baseline is not

- **Not a medical device.** Phase 1 ships as a wellness/lifestyle product. It does not diagnose, does not recommend or titrate medication, and does not replace clinical care. Non-diagnostic disclaimers appear on the risk score and the monthly report.
- **Not a blood pressure measurement device.** It records readings from validated cuffs; it does not derive BP from a camera or a wrist optical sensor.
- **Not a chatbot.** An LLM phrases insights from structured model output through a constrained template layer. It never generates clinical content freehand.

## 4. Users

### Primary — the member

**Sipho Nkosi, 52 · Operations manager · Johannesburg**

Told at a company wellness screening that readings were "a bit high" — 138/88. Not on medication yet. Owns a cuff bought at Clicks that is used inconsistently. Works long days, sleeps badly during quarter-end, drinks two or three beers most evenings, walks less than they think.

Uses the app at 06:40 sitting on the edge of the bed with the cuff still on, and again around 21:30. Both are dim-room moments. Wants two things and nothing else: *is today okay*, and *what did I do yesterday that made it worse*.

Anxious but not ill. Will abandon anything that feels like a hospital, and will abandon anything that takes more than a minute a day.

### Secondary — the clinician

**Dr Naledi Khumalo · GP · Randburg**

Sees the member for ten minutes twice a year. Does not want an app login. Wants a one-page summary of out-of-office readings, averages, variability, and adherence — the things the guideline now says matter more than the in-office reading. Receives the monthly report as a shared link or PDF.

### Tertiary — the operator

**Platform ops and clinical safety team**

Monitors engagement and adherence, triages hypertensive-crisis alerts, manages the questionnaire bank and notification schedules, reviews AI model versions and drift, and answers DSARs. Works in a browser at a desk all day.

## 5. Module register

Every screen in the prototype carries a `data-sow-module` attribute mapping it to one of these. The annotation layer (`⌘K` or the flag icon) surfaces the mapping on screen, and `blueprint/08-estimate.html` costs the same register line by line.

### Patient application

| # | Module | Covers |
|---|---|---|
| M1 | Account & onboarding | Sign-up, OTP, granular POPIA/GDPR consent, profile wizard, BP goal |
| M2 | Daily check-in | Adaptive questionnaire engine, streak, snooze, wearable pre-fill |
| M3 | BP capture | Guided measurement protocol, live classification, BLE cuff pairing, context tags |
| M4 | Home & today | Status card, baseline delta, next action, learning state |
| M5 | Trends & history | Timeline with category bands, AM/PM split, variability, scatter, heatmap |
| M6 | AI insights | Ranked drivers, effect sizes, lag analysis, what-if simulator |
| M7 | Risk score | Composite score, trajectory, contributors, PREVENT context |
| M8 | Experiments & nudges | n-of-1 experiments, pre/post readout, adherence nudges |
| M9 | Monthly report | Generated report, clinician share, PDF export |
| M10 | Medications | Schedule, adherence tracking, reminders, refill |
| M11 | Devices & data sources | HealthKit, Health Connect, Fitbit, BLE cuffs, sync log |
| M12 | Care circle | Clinician share, caregiver read-only, emergency contact |
| M13 | Settings & privacy centre | Notification windows, units, consent ledger, export, deletion, DSAR |
| M14 | Clinical safety | Crisis detection, interstitial, escalation guidance |

### Admin console

| # | Module | Covers |
|---|---|---|
| A1 | Operations dashboard | Engagement, adherence funnel, sync health, alert volume |
| A2 | Member management | Search, profile view, permission-gated access, audited support actions |
| A3 | Cohort analytics | BP distribution, category migration, retention, feature engagement |
| A4 | Questionnaire builder | Versioned bank, conditional logic, localisation |
| A5 | Notification manager | Segments, schedules, quiet hours, templates |
| A6 | AI model console | Registry, versions, drift, cohort feature importance, retraining, review queue |
| A7 | Clinical safety queue | Crisis alerts, escalation workflow, outcome logging |
| A8 | Content library | Evidence-tagged recommendations mapped to drivers |
| A9 | Compliance & audit | Consent ledger, access log, DSAR queue, retention, incidents |
| A10 | Roles & access | RBAC, admin/clinician roles, API keys, integrations |

## 6. The core loop

```
      ┌──────────────────────────────────────────────────┐
      │                                                  │
      ▼                                                  │
  ┌────────┐   ┌─────────┐   ┌──────────┐   ┌─────────┐  │
  │ PROMPT │──▶│ CAPTURE │──▶│ ANALYSE  │──▶│ REFLECT │──┘
  │ push   │   │ BP +    │   │ per-user │   │ drivers │
  │ AM/PM  │   │ check-in│   │ model    │   │ + score │
  └────────┘   └─────────┘   └──────────┘   └─────────┘
                                                  │
                                                  ▼
                                             ┌────────┐
                                             │  ACT   │
                                             │ n-of-1 │
                                             │ expt.  │
                                             └────────┘
```

The loop must close in under 60 seconds a day or the data stops arriving and the model starves. Every design decision in M2 and M3 is subordinate to that constraint: large tap targets, chips and steppers instead of text inputs, wearable pre-fill wherever possible, one question per card.

## 7. Clinical rules the product must obey

Sourced from the 2025 AHA/ACC guideline. These are encoded in `assets/js/data.js` as a single source of truth, not scattered across screens.

**Categories** — classification uses the higher of the two category assignments:

| Category | Systolic | | Diastolic |
|---|---|---|---|
| Normal | `< 120` | and | `< 80` |
| Elevated | `120–129` | and | `< 80` |
| Stage 1 hypertension | `130–139` | or | `80–89` |
| Stage 2 hypertension | `≥ 140` | or | `≥ 90` |
| Hypertensive crisis | `> 180` | and/or | `> 120` |

**Measurement protocol** — 5 minutes seated rest, back supported, feet flat, arm at heart level, no caffeine or exercise for 30 minutes prior. Two readings one minute apart, averaged. The app enforces this with a rest timer and takes the average, because the guideline now treats home monitoring as the diagnostic gold standard.

**Lifestyle targets** used in recommendation copy:

- Sodium `< 2300 mg/day`, ideally `< 1500 mg/day`; potassium-based salt substitutes encouraged
- Alcohol ≤ 2 units/day (men), ≤ 1 unit/day (women); reduction or abstinence preferred
- Physical activity 75–150 min/week
- DASH-style eating pattern
- Stress management — meditation, breathing, yoga — now a named first-line strategy
- Weight management where BMI is elevated

**Crisis handling** — any reading `> 180` systolic or `> 120` diastolic triggers an immediate full-screen interstitial directing the user to seek care. No AI insight, no recommendation, no dismissal into a normal flow. This path never involves the model.

## 8. Non-negotiables

1. **The numbers agree everywhere.** Every figure on every screen derives from `assets/js/data.js`. A prototype whose dashboard disagrees with its report is a prototype nobody believes.
2. **No insight without confidence.** The model gates on credible interval and sample size. Where confidence is low the app says so rather than inventing certainty.
3. **Colour is never the only signal.** Every BP state carries a label and a distinct glyph alongside its colour.
4. **The daily loop stays under 60 seconds.**
5. **Consent is granular and revocable.** Separate toggles per processing purpose, with a visible ledger and a working export/delete path.

## 9. Out of scope for the POC

No backend, no real authentication, no persistence beyond `localStorage` for theme and tour state. No real device pairing — BLE and wearable flows are simulated at the UI layer. All member data is synthetic and labelled as such. Excel estimate sheet and formal Word SOW are deliberately deferred; both can be generated from `blueprint/08-estimate.html` and this document.
