[object Object]

← back to AbramsOS

docs: roadmap adds health track (vitals trends, BP↔meds, reminders) as co-priority

f4e4da6d89547ccd9ddfd2154022453a84811a03 · 2026-07-13 00:31:36 -0700 · Steve

Files touched

Diff

commit f4e4da6d89547ccd9ddfd2154022453a84811a03
Author: Steve <steve@designerwallcoverings.com>
Date:   Mon Jul 13 00:31:36 2026 -0700

    docs: roadmap adds health track (vitals trends, BP↔meds, reminders) as co-priority
---
 docs/LIFE-OPTIMIZER-ROADMAP.md | 69 +++++++++++++++++++++++-------------------
 1 file changed, 38 insertions(+), 31 deletions(-)

diff --git a/docs/LIFE-OPTIMIZER-ROADMAP.md b/docs/LIFE-OPTIMIZER-ROADMAP.md
index c60e2a4..c1c31ad 100644
--- a/docs/LIFE-OPTIMIZER-ROADMAP.md
+++ b/docs/LIFE-OPTIMIZER-ROADMAP.md
@@ -1,39 +1,46 @@
 # AbramsOS — Life Optimizer roadmap
 
-Steve's ask (2026-07-13, overnight): *"go all night long thinking of ways to make life
-the best for an individual. AbramsOS … maybe local coupons at places I shop … suggested
-substitutes to save money or quality."*
+Steve's ask (2026-07-13, overnight): make AbramsOS proactively improve his life —
+(a) money: coupons at places he shops + cheaper/better substitutes; (b) health: blood
+pressure history + Apple Watch / device readings that sync.
 
-Guiding principle: turn Steve's **real signals** (Amazon/email purchases, reorders, bills,
-meds, calendar) into **honest, actionable** money-saving / quality / life-improving nudges.
-Local LLM only ($0). Nothing auto-buys, auto-sends, or publishes. No fabricated prices,
-SKUs, or coupon codes — strategies + verifiable mechanisms only.
+Guiding principle: turn Steve's **real signals** into **honest, actionable** nudges.
+Local LLM only ($0). Nothing auto-buys, auto-sends, or publishes. **Never fabricate** —
+no invented prices/SKUs/coupon codes, and NO fake health readings (the vitals table
+ships empty until Steve imports real data).
 
 ## Shipped
-- **[done] Savings module** (`db2fd48`) — `savings_suggestion` + `merchant_coupon` tables,
-  `lib/savings-advisor.js` (grounded strategy suggestions via local **gemma3:12b**),
-  `/savings` dashboard (created date+time chips, sort+density, save/dismiss). qwen3:14b
-  rejected (thinking-mode → empty under `format:json`).
-- **[done] Discoverability + honest coupons** (`a121be0`) — home "Savings ideas" tile;
-  3 real savings mechanisms seeded (Amazon Subscribe & Save, camelcamelcamel price alerts,
-  Costco coupon book) with real URLs, no fake codes.
+- **Savings module** (`db2fd48`) — `savings_suggestion` + `merchant_coupon`, grounded
+  strategy advisor via local **gemma3:12b**, `/savings` dashboard.
+- **Discoverability + honest coupons** (`a121be0`) — home tile + 3 real savings mechanisms.
+- **Nightly savings runner** (`0256450`) — `scripts/run-savings-advisor.js` + launchd plist.
+- **Health / Vitals module** (`2d8848c`) — `health_reading` table, AHA BP categorization,
+  Apple Health `export.xml` streaming parser (pairs BP, scales SpO₂), `/health` dashboard
+  with inline SVG BP chart, per-person filter, manual add; `POST /api/health/readings`
+  JSON ingest for the Health Auto Export app; `scripts/import-apple-health.js` CLI.
 
-## Next (in priority order)
-1. **Real purchase ingestion** — wire `lib/gmail-fetcher.js` + `receipt-extractor.js` to
-   read **info@** (where the 201 real Amazon order emails live; token works, no re-auth
-   needed) → populate `purchase`. Then auto-derive `reorder_item` rows from repeat
-   purchases so the advisor runs on *detected* recurring buys, not seeds.
-2. **Nightly runner** — `scripts/run-savings-advisor.js` + a `com.steve.abramsos-savings`
-   launchd plist (draft; Steve pastes the bootstrap — launchd install is classifier-gated)
-   so suggestions refresh as new purchases arrive.
-3. **Reorder-timing + price-drop nudges** — cadence-based "reorder soon", and a
-   camelcamelcamel target-price hook per repeat buy.
-4. **Subscription/bill audit** — the biggest real savings lever: flag recurring `bill`
-   rows that look unused/duplicative and draft cancel/downgrade suggestions.
-5. **Beyond shopping (the "best life" framing)** — warranty-expiry alerts, appointment
-   nudges, "unused-subscription" sweep, annual-fee vs perks checks.
+## Next — unblocked (do these overnight, priority order)
+### Health track
+1. **Vitals trends + insights** — weight & resting-HR trend sparklines like BP; a local-LLM
+   ($0) "what changed this month" plain-English summary per person; flag any BP reading in
+   Stage 2/crisis with a gentle "recheck / see doctor" note (informational, not advice).
+2. **BP ↔ medication context** — on /health, show which active meds (from the medication
+   table) are BP-relevant, so a trend reads alongside what he's taking. Read-only join.
+3. **Reading reminders** — if no BP reading in N days, a calendar_reminder nudge.
+
+### Savings track
+4. **Subscription/bill audit** — biggest real lever: flag recurring `bill` rows that look
+   unused/duplicative; draft cancel/downgrade savings suggestions.
+5. **Reorder-timing + price-drop nudges** — cadence "reorder soon"; camelcamelcamel target.
+
+## Blocked (needs Steve — do NOT brute-force)
+- **Real purchase ingestion** — AbramsOS Google OAuth is unconfigured (`..._CLIENT_ID/SECRET`
+  empty). Either configure it, or give George basic-auth to bridge the 201 Amazon order
+  emails in info@ → `purchase`.
+- **Device cloud APIs** (Withings/Omron Connect) — need per-vendor OAuth creds from Steve.
+  Apple Health export + Auto Export app already cover Apple Watch with no creds.
 
 ## Rails
-- Local Ollama only (gemma3:12b). Show $0 (local). Commit each working step
-  (author steve@designerwallcoverings.com). No George sends, no deploy, no DNS, no publish
-  without Steve's explicit go.
+Local Ollama gemma3:12b only. Show $0 (local). Commit each working step
+(author steve@designerwallcoverings.com). Lint + render-test before commit. No George
+sends / deploy / DNS / publish without Steve's explicit go. Verify keepawake each cycle.

← 2d8848c health: Vitals module — BP history + Apple Watch/device read  ·  back to AbramsOS  ·  connectors: Plaid 'Connect a bank' UI (Wells Fargo etc.) + i 954cc77 →