← Back to work

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.

Role
Product Designer
Company
Habit Layer
Scope
End to end, design through front end build

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.

Routine.do today screen in dark mode, listing log weight, log protein, exercise, log injection, and symptom check-in as the day's routine
The same Routine.do today screen in light mode, with log weight and symptom check-in completed and struck through

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.

Habit Layer Dashboard patient view showing an active flag for nausea, an adherence table, and a messaging panel with a coach and patient conversation
Protocol threshold configuration screen listing metrics like weight change, nausea severity, and injection site pain with separate care specialist and clinic thresholds

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.

AI-generated patient snapshot note summarizing adherence, notable symptoms, and recommended talking points for a provider

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.

Routine.do messaging screen with a threaded conversation between a patient and their care provider about a protein intake goal

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.