HealthLoop — Agentic Healthcare Assistant
An agentic healthcare assistant that ingests wearable data (Fitbit-first), runs proactive monitoring on patient signals, tracks outcomes over time, and surfaces longitudinal insights via a conversational interface. Designed as a real internal tool — proactive monitoring for my family, not a portfolio demo.
Overview
HealthLoop is a proactive health monitoring system built for personal and family use — not a demo, not a portfolio piece. The premise: most healthcare tools are reactive. You feel something, you search it, you book an appointment. HealthLoop is built to invert that: it watches wearable signals continuously, surfaces patterns across time, and flags things worth attention before they become symptoms you have to manage.
The first data source is Fitbit (sleep, HRV, resting heart rate, activity). The interface is conversational — you ask questions, it surfaces relevant longitudinal context, not just last night's sleep score.
Why I Built It
My family members wear fitness trackers. That data exists and mostly goes unread. There's a real use case for something that watches it continuously — not to replace doctors, but to give non-technical family members a coherent picture of their health over time, and to flag things worth bringing up at an appointment.
Building HealthLoop also addresses something I've noticed in the healthcare AI space: most "AI health assistant" demos stop at the conversational interface. They can answer questions but can't maintain meaningful context across weeks of data, and they don't do anything unless you ask. Proactive monitoring — the system initiates, not just responds — requires a different architecture.
Architecture
Multi-service stack: Next.js 16 frontend, FastAPI backend, Postgres for structured health data, ChromaDB for long-term semantic memory, LangGraph for the agentic loop.
Why LangGraph: The core intelligence isn't a single LLM call — it's a graph of reasoning steps. The agent ingests new data, retrieves relevant historical context from ChromaDB (what does this HRV reading look like relative to the past 90 days?), runs analysis nodes, decides whether to surface an insight or stay quiet, and stores conclusions back into memory. LangGraph makes this loop explicit and debuggable.
Why RAG over longitudinal data: A single health reading means almost nothing in isolation. HRV of 45ms is fine for some people and a regression for others. The system needs to know your baseline — which means retrieving semantically relevant past data, not just querying by date range. ChromaDB stores embeddings of past health summaries and clinical notes so the agent can retrieve context like "similar low-HRV weeks" rather than just "last 7 days."
Proactive monitoring: A scheduled pipeline runs daily analysis across connected data sources. If a pattern crosses a threshold — sleep fragmentation increasing over 2 weeks, resting HR trending up — the system surfaces an insight in the next conversational session. The user doesn't have to ask.
Roadmap
- Phase 1 (current): Fitbit ingestion, basic monitoring loop, conversational interface
- Phase 2: Multi-user support, family dashboard, outcome tracking over time
- Phase 3: Additional wearable sources (Apple Health, Oura), proactive alerting, export summaries for clinical conversations