A daily, bedside AI assistant for people living with chronic conditions —
for the long stretch of days between doctor visits.
The premise: a trust system, not a chatbot.
PHP never diagnoses. It serves only pre-diagnosed
patients, verified by integrating with their EHR at onboarding. Every
downstream decision — knowledge-graph grounding, doctor-in-the-loop evals,
tiered action permissions — exists to honor that constraint.
conversational-ai
eval-driven
graph-rag
agentic-actions
healthcare
What it did for a patient
Helped patients adhere to the treatment plans their providers put them on.
Answered everyday questions — "what do I do if I miss a dose?" — grounded in
doctor-curated clinical knowledge, never improvised.
Took actions on the patient's behalf: booked appointments, fetched
pharmacy coupons, ordered OTC wellness products — with eventual delivery to the door.
The company behind it — six products, one surface
The org was a decade-long mosaic of acquisitions: 6+ business models, each holding a
different slice of health value. PHP's quiet thesis was to become the
unifying conversational surface over all of them.
Healthline.com
A massive source of online health & wellness content.
Healthgrades.com
"Yelp for doctors" — search & rate specialists by zip code.
Optum Perks
Coupons on the medication you need at a nearby pharmacy.
Optum Products
E-commerce for OTC health products, delivered to the door.
My role
I owned the AI backend end-to-end — the conversational engine, the
knowledge-graph RAG, the tool integrations, the recommendation and action-completion
workflows. I led a team of ~5 data scientists, set the tech stack, and ran the
evaluation program alongside a panel of 15 doctors using a
Hamel-style framework I helped translate into real annotation tooling.
~5
data scientists led
15
doctors on the eval panel
5
chronic conditions supported
Architecture at a glance
A request flows through a state machine persisted in FastAPI
(conversation history + state, keyed by thread_id). Each agent is colour-coded
by how much autonomy it has — the same lens as the
action-maturity tiers.
FastAPI · state store
Conversation history & state, keyed by thread_id
The supervisor composes the final answer (Step 4) and streams it back through the state
store. Orchestration is kept on a tight leash; the domain experts get room to reason.
The shape of the trust: tight orchestration, bounded expertise.
The low-autonomy supervisor and guardrail layers gate every turn, while the high-autonomy
experts are scoped to a domain — clinical reasoning or recommendations — and never act
outside it.
Go deeper
Ordered by where the hardest, most transferable engineering lived.
The centerpiece. A two-track, doctor-in-the-loop eval program: convergence-derived
failure taxonomies, custom annotation tooling, and an LLM-judge regression net built
only where it earns its keep.