Chronic care is 4 visits a year. Baymax is the other 361 days.
Clinical care happens a few times a year. Life with a chronic condition happens every day. Baymax connects the records, wearables, symptoms, and people around the patient, then checks in when something meaningfully changes. The records and models can now live with the patient. We built the agent that lives there too.
Inspiration
194 million American adults live with a chronic condition. 130 million live with two or more. Their care happens in a handful of 15-minute appointments a year, while the conditions run every day in between. The CDC ties roughly 90% of the nation's $4.9 trillion in annual health spending to chronic and mental health conditions.
The industry's answer has been apps that make sick people do data entry: rate your pain 1 to 5, log your meals, fill out the survey. Patients have voted on that answer. Health apps retain about 3% of their users at 30 days. Every one of them claims to be personalized, then compares your sleep to a population average and waits for you to open it.
Medication adherence shows the failure most clearly. Roughly half of chronic disease medications aren't taken as prescribed, at an estimated cost of $100-300B a year in avoidable spending. Adherence isn't an alarm problem. It's a noticing problem: a refill quietly lapses, evening doses slip for a few days, energy dips follow, and nobody connects the dots until the ER does.
Meanwhile, the pieces to fix this quietly arrived. Interoperability rules opened medical records, and FHIR now syncs to phones. Wearables stream continuous biometrics. Capable language models now run on consumer hardware. The AI giants responded by piping health data into their clouds, where everything is reactive: you ask, it answers, it waits. In February, Apple shelved its own AI health coach. The data, the models, and the need all sit with the patient. Nobody had built the agent that lives there and speaks up first.
So I built Baymax: a health agent that actually knows you, holds your whole picture privately, and reaches out the way a good friend would, before you thought to ask.
What it does
Baymax builds a private, evidence-linked model of one person, not a patient archetype.
Meet Maya, our synthetic 58-year-old with hypertension and type 2 diabetes. Baymax knows her chart drifted slowly for two years, HbA1c 6.6% to 7.4%. It knows her personal 166-day wearable baseline, and that the last 14 days broke from it: sleep down 1.1 hours, resting heart rate up 5.2 bpm, HRV down 10.6 ms, steps down about 2,500 a day. Against her own numbers, not anyone else's. And it remembers her exact words from months of check-ins, because lived experience is data too. "I stopped cooking because standing felt overwhelming" is preserved verbatim, never flattened into a score.
When those layers line up, Baymax doesn't wait to be asked. It runs a schema-constrained evaluation and returns one of four decisions, no_action, notify, check_in, or escalate, each with cited evidence from Maya's timeline and explicit uncertainties. It never diagnoses. It notices, explains in her context, and routes to humans.
Adherence is the clearest example. Baymax sees the refill lapse in the record, the drift in the routine, and the fatigue in Maya's own words, and connects them. Not a daily alarm that trains you to swipe it away: one well-timed, well-reasoned outreach when the pattern actually breaks, with the evidence to say why.
The outreach meets you where you are. In the app, as rich cards with evidence and trends. Over iMessage via Sendblue, a gentle text in the thread you already check, carrying only what your consent policy allows. Or as a voice call via LiveKit, a warm spoken check-in for someone who prefers a phone to an interface. Same agent, same evidence, same consent rules, delivered through whichever door fits the person.
Baymax also extends to the people you choose to let in. Maya's care circle includes her father Ravi, who shares selected signals with her. When his patterns drift from his baseline, Baymax suggests a low-pressure check-in, and Maya approves every outreach. The agent contacts no one on its own, and the patient controls exactly what each person sees. Our interface copy carries the epistemics I believe in: "The absence of a response is unresolved and does not establish that anything is wrong."
Privacy is architecture, not policy. The FTC has already fined GoodRx and BetterHelp for leaking consumer health data from the cloud. Our answer is structural: intelligence and health data stay on your hardware, messaging and telephony are thin transports that carry the outreach and never the record, and the app shows a live provenance panel with which model ran, which tools were called, and whether any data left the machine.
How I built it
Personalization isn't a system prompt. It's a data architecture. Everything below exists to model one specific person accurately.
- Orchestration: Vercel AI SDK agent loop behind a local Hono coordinator. The mobile app talks to one backend contract; the coordinator owns tools, secrets, model routing, and fallbacks.
- Tools, not vendor glue: the agent reasons through typed tools (
getClinicalState,getWearableTrends,getLongitudinalTimeline,searchHealthMemory,getRecentCheckIns,getProactiveContext) with Zod validation on every boundary. - Three-tier memory, because vector search is not a memory model: structured current state in exact records, so an active medication is a database fact and never a similarity match; episodic memory in locally self-hosted Supermemory, preserving original wording alongside every extraction; temporal relationships and rolling summaries, so the agent can distinguish when something happened from when I learned it.
- Deterministic math, probabilistic language: baselines, trends, deviations, and dates are computed in TypeScript. The LLM interprets; it never calculates.
- Local inference: LM Studio serving local models through an OpenAI-compatible endpoint, with a strict-local mode where clinical data, wearables, memory, and inference all stay on the machine. If the local model fails validation, Baymax degrades to a deterministic, evidence-only response instead of hallucinating.
- Data plane: self-hosted Open Wearables (Docker) for normalized wearable data; deterministic Synthea-compatible FHIR R4 fixtures for the clinical record; a
ClinicalRecordsProviderinterface so authorizedHKClinicalRecordand SMART-on-FHIR sources drop in without touching agent logic. - Outreach: consent-checked iMessage via Sendblue and outbound voice via LiveKit, behind typed
MessagingProviderandVoiceProviderinterfaces; mobile experience in Expo/React Native.
Challenges I ran into
Small local models are unreliable narrators. Our local model sometimes fails schema-constrained generation or times out. Rather than silently falling back to a cloud model, which would betray the thesis, I built validation plus a deterministic fallback: if the local model cannot produce a validated answer, Baymax answers from computed evidence alone and says so. Making failure honest turned out to be a feature.
Channels are transports, not the product. The hard part of multi-channel outreach was keeping iMessage and voice as thin, consent-checked delivery layers while every decision, memory, and piece of health data stays local. The rule I enforced: the channel carries the outreach, never the record.
Apple clinical records are read-only. You cannot seed HKClinicalRecord on a physical device, and simulator sample data only goes so far. I solved it with a provider abstraction and deterministic Synthea-style fixtures, so the same parsing and agent code runs against synthetic data today and authorized real records tomorrow.
Memory is an architecture problem, not an embedding problem. Our first instinct, embed everything and retrieve by similarity, couldn't answer the questions that matter clinically. Did the fatigue start before or after the dose change? Is this medication currently active? That forced the three-tier split between exact facts, episodic memory, and temporal relationships.
Proactive is a product-shape problem. A chatbot waits. An agent that initiates needs decision schemas, consent checks, and evidence trails, because an AI that reaches out is only acceptable if it can show exactly why. I spent real time on restraint: nonspecific signals are labeled nonspecific, and a missed check-in is explicitly unresolved, not wrong.
What I learned
The hard part of health AI is not the model. It is epistemics: preserving what the patient actually said, separating facts from inferences, computing exactly what can be computed, and being honest about uncertainty. I also learned that the interoperability shift of the last two years is bigger than most builders realize. The patient's complete picture is finally reachable, and the interesting question is no longer access but where the intelligence should live. Our answer: with the patient. The regulatory landscape favors the same design. The FDA's January 2026 guidance rewards software that stays informational, human-in-the-loop, and non-diagnostic, and the FTC's enforcement record makes cloud health data a liability that on-device processing structurally avoids.
What's next for Baymax
Real HealthKit and clinical-record authorization behind the existing provider interfaces, scheduled proactive evaluation with replayable jobs, full care-circle consent enforcement with per-category sharing, and on-phone inference via Apple's Foundation Models framework for a fully self-contained tier. Chronic care will still be 4 visits a year. Baymax is how the other 361 days start taking care of you back.
Sources
- 194M US adults with 1+ chronic condition; 130M with 2+: CDC, Preventing Chronic Disease, 2025 (BRFSS 2013-2023 trend analysis).
- ~90% of the $4.9T in US health spending tied to chronic and mental health conditions: CDC, chronic disease cost overview.
- Health apps retain ~3% of users at 30 days: Business of Apps, Health & Fitness App Benchmarks, 2026.
- ~50% of chronic disease medications not taken as prescribed; $100-300B/yr in avoidable costs: Duke Health; NIH/PMC literature on medication non-adherence (upper-bound estimate $528B, Watanabe et al., 2018).
- 59M US caregivers; $1.01T in unpaid family care (2024); ~$7,200/yr average out-of-pocket caregiver spend: AARP, Valuing the Invaluable, 2026 update.
- ChatGPT Health launch and 230M+ weekly health questions: OpenAI announcement, January 2026.
- Apple shelving its AI health coach (Project Mulberry): Bloomberg (Mark Gurman), February 2026.
- FTC enforcement on consumer health data (GoodRx $1.5M, BetterHelp $7.8M): FTC press releases, 2023.
- FDA clinical decision support and general wellness guidance: FDA final guidance, January 6, 2026.
- Interoperability and patient records access: 21st Century Cures Act information blocking rules; TEFCA; Apple Health Records (FHIR R4 / SMART on FHIR).
- Maya's clinical and wearable data: synthetic, Synthea-compatible FHIR R4 fixtures built for this project. No real patient data was used.
Built With
- docker
- expo.io
- fhir
- healthkit
- hono
- livekit
- lm-studio
- mlx
- open-wearables
- openai-api
- react-native
- sendblue
- supermemory
- swift
- synthea
- typescript
- vercel-ai-sdk
- zod
Log in or sign up for Devpost to join the conversation.