Digital Health
Owning the full design surface, from IA to production code
Habit Layer runs on two products sharing a FHIR R4B backend: Routine.do, a patient-facing PWA meant to live on a phone's home screen, and the Habit Layer Dashboard, built for the coaches and providers supporting those patients. I designed and shipped both as the only designer on the team: information architecture, interaction patterns, the component library, dark and light mode, and PWA behavior.
Routine.do: built for a phone's home screen
Routine.do is mobile-first and installs as a PWA, so it needed to feel native from the first launch: a clear daily list, one task at a time, nothing that reads as a web page pretending to be an app. A protocol like GLP-1 weight loss shows up as a short list, log weight, log protein, exercise, log injection, symptom check-in, with an optional section kept out of the way until someone wants it.
Dark and light mode aren't a settings toggle bolted on afterward, they're both first-class: the same component set, the same information hierarchy, restyled rather than reskinned.
The provider side: flags, adherence, and messaging
The Habit Layer Dashboard is where coaches and providers manage their patient roster. Each patient view surfaces active flags, symptoms or metrics that crossed a threshold, alongside an adherence table tracking daily, weekly, and monthly completion for everything in their care plan. A messaging panel sits right next to that data, so a conversation about a symptom happens with the relevant numbers already in view instead of in a separate tab.
That flagging system is configurable per protocol. Thresholds are set per metric, per escalation tier, care specialists and clinics can carry different sensitivity for the same symptom, so a nausea score that's routine for one tier is a flag for another.
AI-assisted care notes
I designed an AI snapshot feature that reads a patient's adherence and symptom data and drafts a note: what's concerning, what's notable, and recommended talking points for the next conversation. It's a starting point for a provider, not a replacement for their judgment, so the design treats it as a draft: clearly labeled, easy to scan, and easy to act on or dismiss.
Separately, I built an AI scoring system for genomic data, including the prompt architecture and validation against known-scored samples, and designed how those results reach patients without overwhelming them. Getting the presentation right mattered as much as getting the score right: a technically accurate result a patient can't parse isn't useful to them.
Secure messaging, in context
Patients and providers message directly inside Routine.do, threaded against the same care plan the provider sees on their end. Conversations stay grounded in specifics, a goal, a symptom, a habit, rather than becoming a generic chat thread disconnected from the data driving it.
Same-day design to code
AI has been part of my daily practice since 2023. On Habit Layer, that shows up directly in process: I design in Figma and implement in the front end the same day, using AI-assisted tooling to close the gap between a design decision and a shipped one. This portfolio site was built the same way.