Hero image

Designing Around the Model

NYU Langone's HiBRID Lab studies how digital tools shape patient and provider experience, across remote patient monitoring, clinical decision support, and AI-enhanced digital assistants. With Medical Center Information Technology, the team runs research, workflow analysis, prototyping, usability testing, and rapid pilot testing.

I worked across four projects there. What connected them wasn't the clinical subject matter. Each one ran into the same three questions about the model underneath, and the answers reshaped the interface more than the model's accuracy ever did: what can it do, what can't it do, and how long does it take?

Role
UX Design
UX Research
Prototyping
Service Design
Tools
Figma
Claude API
Airtable
Netlify
Epic
Team
HiBRID Lab
SoDEC
MCIT
Nudge Unit
CPCVD
Timeline
[ADD START DATE] – Present
The Problem

Clinical AI gets evaluated on whether it's right. In practice, that was rarely the thing that decided whether it worked. A correct recommendation arriving after the patient left, or hedged behind data nobody knew was missing, changed nothing.

8
phases of care where information could go missing
15 min
after a visit ends before the score is ready
5
behavioral themes explaining when a nudge changes behavior
The Challenge

How might we design clinical AI around what the model can't do, rather than around what it can?

My Role
  • Designed a statin decision-support tool with a physician lead and a second UX designer
  • Ran usability sessions with prescribers and coded them with a second observer
  • Built an interactive patient journey tool used by project coordinators to capture information gaps
  • Designed and built an automated content pipeline on the Anthropic API, from intake form to review queue
  • Translated research findings into placement and content guidance across four Epic surfaces
Lens 01 — Capability
A bounded capability is a usable one. An open one is a demo.

The content pipeline I built for the lab drafts captions and graphic fill sheets from a single intake form. It could have been an open text box. Instead it runs on eight fixed formats, each with its own layout and prompt. Constraining the generation is what made the output reliable enough to hand to a reviewer instead of a rewriter.

The same logic ran in reverse on a cardiology chatbot proposal. Before designing anything, the question was whether a chatbot could do something the patient portal already couldn't. I built a journey tool that let coordinators capture where information actually goes missing across eight phases of care, so the capability question got answered with evidence instead of enthusiasm.

8 formats, 1 reviewer
01
Publication
02
Event Recap
03
Guest Speaker
04
Podcast
05
Staff Spotlight
06
Project Spotlight
07
Milestone
08
Job Posting
Finding
The design work was deciding what the model should not be allowed to attempt.
Lens 02 — Limitation
Marking what the system can't see is what makes clinicians trust what it can.

In a statin decision-support tool for primary care, the interface automates risk stratification across a risk score, guideline risk enhancers, and imaging signals. The decision that mattered most was showing the negative space: how many qualifying triggers were absent, which biomarkers were never measured, which imaging was never ordered.

A recommendation that looks confident because it's missing data is worse than one that says so. So the tool states its recommendation, attaches the guideline class, expands to show supporting factors, and weights Order and Decline equally. It never places the order.

Risk panel
0 gaps shown
4.1%
10-year risk · Borderline
Contributing factors
Elevated LDL-C, 138 mg/dL
Lipoprotein(a) — never measured
Reduced kidney function
hs-CRP — never measured
Hypertensive pregnancy history
Coronary artery calcium — not available
Higher-risk ancestry
Carotid plaque — not available
Consider starting a moderate-intensity statin
Shared decision-making · Class IIa
ConfidentShow what's missing
Finding
Confidence without visible gaps reads as a system hiding something.
Lens 03 — Latency
Latency isn't a performance problem. It decides who's in the room when the answer arrives.

In usability sessions with prescribers, we found nudges only change behavior when they land at the moment of decision. Providers noticed nudges, agreed with them, and moved on anyway. The gap between agreeing and acting was the design problem, and it was almost entirely timing.

Journey research surfaced a sharper version. A behavioral health score takes about fifteen minutes to finish computing after a visit ends. The patient is already gone. The score arrives in the portal later, alone, with nobody there to explain it. A number that would have been a conversation becomes a PDF.

On the generation side, the same constraint drove architecture. Model calls are slow enough that a synchronous generate button would have felt broken, so the pipeline runs on background functions with an approval queue. Nobody waits.

Visit timeline
Visit starts
Visit ends
+15 min
+1 day
+2 weeks
PatientIn the room
ScoreNot computed
the gap
Finding
Fifteen minutes is the difference between a conversation and a PDF.
Impact
"[ADD pull quote]"
photo
[ADD role / participant]
[ADD]
[ADD before → after]
[ADD]
[ADD before → after]
[ADD]
[ADD before → after]
Reflections
Constraint is the feature
Eight fixed formats beat an open text box. Bounding what the model is allowed to attempt is what made its output reviewable instead of rewritable. The most useful thing I did was narrow the job.
Say what the system can't see
Marking never-measured labs and unavailable imaging made the tool look less certain and more trustworthy at the same time. Clinicians can work with a stated gap. They can't work with a confident answer that's quietly incomplete.
Latency decides who's in the room
Fifteen minutes turned a conversation into a PDF. Timing shaped these experiences more than accuracy did, and it's the variable design teams have the least habit of treating as a design problem.
Correcting is faster than generating
The journey tool worked because it showed up with an opinion. Stating our assumption and asking to be corrected got sharper answers than an open question ever did, and the disagreements were the findings.
Related works
Related Works component slot — paste the existing Related Works code component here in Framer