Case study — health benefits
A mobile tool that turns "what will this cost me" into an answer with three parts: your price, a cheaper alternative worth asking your doctor about, and the nearest pharmacy that actually has it at that price.
The problem
A member searching for a drug's price usually finds a list price that has nothing to do with what they'll pay — their real cost depends on formulary tier, deductible progress, and which pharmacy they walk into. Tools modeled on general drug-price lookups answer the wrong question.
This is a personal project: search a drug, see cost-sensible alternatives with generic and brand clearly separated, configure the exact strength and form, then find where nearby to actually fill it — with price attached to the pharmacy, not buried in a table underneath it.
The hardest part isn't showing a price. It's showing a cheaper drug without sounding like it's making a medical decision for someone.
Approach
Each step in the flow asks the member for exactly one new piece of information — the drug, then which version, then the dose and form, then where — so the price at the end reflects a fully specified choice rather than an average.
Prototype
Fully interactive — same file that ships alongside this page. The map view uses an illustrated basemap standing in for the Google Maps SDK; the price behavior on the pins is real.
Not rendering? Open the prototype directly.
System design
The riskiest part of this product is the alternatives panel — it has to suggest cheaper drugs without ever making a clinical call. The design splits that into a deterministic retrieval step and a model that can only rank and explain, never invent.
Retrieval is deterministic and auditable; the LLM only reorders and explains. If it returns a drug outside the candidate set, or fails schema validation, the response is discarded and the panel falls back to cost-ascending order with no generated text.
Narrow-therapeutic-index drugs, biologics, and controlled substances only ever show a generic-equivalent alternative — never a different drug in the same class. That suppression list needs pharmacist sign-off, reviewed quarterly.
Drug + member + location together is PHI. The BFF enforces an outbound allowlist so only an address or coordinate pair ever reaches Google — no medication, no identifier, no price.
A real-time benefit check, a plan-design estimate, and a cash price are three different numbers and the interface never blurs them together — the estimate chip is not decorative, it's a claim about confidence.
Still open
Two dropdowns for strength and form can produce combinations that don't exist as a real product — is a flat list of dispensable products actually clearer?
Should a cash price that beats the plan price be shown, given it helps the member today but doesn't count toward their deductible?
Does letting a member send the alternatives list to their prescriber in-app change the clinical liability picture?