Inspiration

Our motivation for creating Cadence came from personal experience and loss. Members in our team have family and friends who have experienced pregnancy with complications, as well as pregnancies that turned into tragedy. At the time (and even now) we didn't know every clinical detail, any early warning signs were, and what could have been caught or acted on sooner. What we do know all too well is what came after: not only physical recovery, but emotional impact that the family and us carry to this day.

From our research, we realized that this situation isn't all that rare. In the US, roughly 1 in 5 pregnancies involves a complication like preeclampsia, gestational diabetes, or preterm birth, and an estimated 6–8% are formally classified as high-risk - which translates to around 30,000 to 50,000 women a year. For every death related to pregnancy, there are 70 to 80 more women who survive a near-death event tied to pregnancy complications. This is the population we decided to build Cadence for because such an event is not a rare tragedy. If science, data, and intelligence can but a structural blind spot affecting hundreds of thousands of families a year.

The pattern is almost always the same: the warning signs were there: rising blood pressure, recurring headaches, sudden swelling; but a high-risk patient sees her OB once every two weeks and has nothing in between. No structured check-in. No one watching. That 10–14 day silence is where preventable harm happens.

What it does

Cadence is a proactive AI companion that watches high-risk pregnancies in the gap between doctor visits—catching complications before they become emergencies, and handing doctors a complete picture before they walk in.

Our one engine is able to face both the patient and their OB team, allowing for more informed check ins and a wholistic view of the pregnancy process.

For the patient, Cadence is a warm, daily check-in which avoids the stereotypical sterile and anxiety inducing medical dashboard. Our patient reports her blood pressure, symptoms, and how she's feeling in plain conversation. Cadence shows her a personalized "Things to Watch For" card pulled specifically from her own care plan, her symptom history so far ("9 check-ins completed, no red flags"), and a "Take to Your Appointment" summary she can walk in with to better address any concerns a pregnant mother may forget out of stress. If something crosses a threshold, she's never shown a scary alert, but a notification that her doctor has been notified.

For the OB, Cadence is a briefing tool that turns a 15-minute appointment into one where the doctor already knows what has happened. A risk-ranked patient panel surfaces the 3 patients out of 50 who need attention right now. Pattern detection will flag trends a human might miss across a long dialogue of messages. For example: "BP trending up over 4 days, headaches mentioned 3 of the last 9, increasing frequency." Every risk score comes with a plain-English rationale and suggestions for discussion, so that before the doctor even opens their charts, Cadence suggests conversation starters like "Ask about headache severity. Consider a 24-hour urine protein test."

When a real red flag appears, Cadence generates a structured clinical summary and pushes a zero-PHI alert straight to the clinician's browser. This kind of support would usually take 12 days, but now it can come to fruition in the same night.

How we built it

Our team built one engine, two faces, with three people.

Claude (Anthropic) is the brain of Cadence: it ingests a care plan from a photo or PDF using vision and turns it into structured protocol JSON, runs the daily check-in conversation through a tool-use loop, classifies risk against a clinical rubric, detects multi-day patterns, and generates both the patient- and clinician-facing visit summaries.

Redis holds everything stateful: session history, symptom logs, the risk timeline, and a RAG vector store over each patient's specific care plan—so every answer Cadence gives is grounded in her document, not a generic guess.

Arize Phoenix traces every single agent decision, and an LLM-as-judge eval runs on every escalation, scoring whether it was clinically appropriate—so nothing about the system is a black box. FastAPI + Pydantic power the backend; Vite + React + TanStack Router + Tailwind power two distinct frontends—a warm, wellness-app-style patient experience and a clean, clinical dashboard for the OB. Web Push delivers the escalation alert to the clinician's browser with zero protected health information in the payload.

Before writing a line of code, we agreed on every data schema and API endpoint as a team, then split the work by layer rather than by feature—one person owned the AI brain (prompts, condition packs, risk logic, evals), one owned backend infrastructure (FastAPI, Redis, the agent loop), and one owned both frontends and demo execution. That meant nobody was ever blocked waiting on someone else.

Challenges we ran into

We spent a lot of time thinking through catching issues vs. calming patients. The patient can never see a scary alert which would cause unnecessary anxiety, but the clinician can never miss a real signal. This kind of tension is exacerbated by the fact that it's the exact same underlying data informing both of these 'types' of actions we have to take. We had to design two completely different emotional treatments of one risk score.

We also aren't 100% health experts. We know that we aren't allowed to directly diagnose patients, which is a complicated ask of a medical support platform. We decided upon the process that Cadence prepares and collects data, but that ultimately the doctor decides. We hard-blocked diagnostic language at the system-prompt level and kept a licensed clinician as the only one who makes the actual call, even when the AI flags something serious.

Making a non-deterministic system demo-able. Live LLM calls don't always say the same thing twice, which is a problem on a stage with a clock running. We built a "golden path" of pre-cached responses so our core demo flow is fast and reliable every single time, with live calls still running underneath for everything outside that path.

Saying no to our own roadmap. The platform vision is large—more condition packs, voice check-ins, EHR integration. We had to keep cutting back to one condition, one check-in loop, one escalation flow, and two views, and trust that a focused demo beats a broad one.

Accomplishments that we're proud of

A full closed loop, start to finish: a care plan goes in as a photo, a patient has a real conversation, a risk is detected, a clinician gets a structured alert, and a doctor walks into the room already briefed — all on real data, no mocks.

An AI system that's auditable, not a black box: every agent decision is traced in Arize, and every escalation is independently scored by a second model call before a human ever sees it.

A product that treats two very different users with two very different needs—without duplicating the underlying intelligence that powers both.

Getting the emotional tone right. "Things to Watch For" reads like care, not a warning label. The patient sees support; the doctor sees signal.

Doing the homework to ground this in reality rather than vibes—the billing pathway (Medicaid RPM CPT codes), the market precedent (Babyscripts), and the actual prevalence numbers behind "high-risk pregnancy" all shaped the product, not just the pitch.

What we learned

The hardest part of building in healthcare isn't model capability — it's restraint. A system that can catch real danger without ever frightening the person it's monitoring takes more careful prompt design than raw intelligence.

Grounding beats cleverness. RAG over a patient's own care plan made every Cadence response traceable to a real source, and that traceability is what actually makes a system trustworthy to a clinician. Trust has to be built, not claimed. Saying "you can audit this" means nothing without an actual audit trail—that's what pushed us to wire up tracing and an LLM-as-judge eval on every single escalation rather than just describing the idea.

A surprising share of the work was non-technical: understanding what "high-risk pregnancy" actually means clinically, learning the real prevalence numbers instead of assuming, and figuring out what an OB needs to see in the first 15 seconds of an appointment.

What's next for Cadence

A second condition pack on gestational diabetes to prove the platform generalizes beyond one diagnosis to any structured care plan. This would allow generalizability across the many different possible cases in healthcare.

A real voice check-in option which takes place in the form of a friendly phone call, for older patients who'd rather talk than type.

Direct EHR integration so a care plan never has to be manually uploaded.

Clinical validation with a real OB or maternal health practice, moving from synthetic demo data to a pilot with real (consented, BAA-covered) patients.

Expansion beyond pregnancy entirely—the same architecture (care plan in, daily companion out, clinician briefing on the other end) applies to any condition where the danger lives in the silence between appointments.

Built With

Share this project:

Updates