CirrusMD · Director of Product Design · 2015–2019

Reconnecting Patients
and Physicians in
90 Seconds or Less

Four years building the design function at a pre-Series A enterprise telemedicine company — from a six-person team with outsourced design to a HIPAA-compliant design practice serving Kaiser Permanente, Aetna, and 12 large-scale healthcare customers, with 46% faster clinical encounters and $25M in funding contributed to.

46%
Less time per clinical
encounter via AI support
90s
Patient-to-physician
connection time
$25M
Funding contributed to
across Series A & B
12+
Enterprise health plan
customers including Kaiser & Aetna
Role
Director of Product Design
Tenure
2015–2019 (4 years)
Team
1 senior hire + 3 freelancers
Platforms
iOS, Android, Web
CirrusMD telehealth platform

The Problem

Healthcare had built walls between patients and doctors. CirrusMD was built to tear them down.

The healthcare system has done a remarkable job of making itself inaccessible. Scheduling delays, copays, specialist referrals, and the friction of in-person visits mean that most people avoid care until problems escalate. CirrusMD's insight was simple and radical: 80% of acute care needs can be addressed via text, by a real physician, in the time it takes to send a message.

When I joined pre-Series A, the design was entirely outsourced. Innovation was throttled by hourly agency costs. The six-person product team — one designer, one PM, one iOS developer, one Android developer, two web engineers — was moving fast without a design system, without a research practice, and without the infrastructure to scale.

My mandate

Build the design function from the inside out. Create a system that could support white-label deployments for enterprise health plans like Kaiser Permanente and Aetna. Design the Advanced Provider Support tools that would make physician encounters 46% faster. And do it all within the constraints of HIPAA compliance, ADA accessibility, and the highest-stakes user context in any industry — someone's health.

$25M
In funding contributed to across Series A & B
12
Large-scale healthcare customers including Kaiser & Aetna
40
Employees hired during tenure as design org scaled
$400K
MRR gained during the design leadership period

Building Foundations

No design system. No process. No research infrastructure. Fixed all three.

Before any new features, the most urgent work was foundational. Design work was passing between a single designer and engineering teams across three platforms — iOS, Android, and web — without shared components, without a documented design language, and without a handoff process that preserved context. Features built in design were arriving in engineering weeks or months later, stripped of the decisions and rationale that made them work.

⚙️
Design System
Built a robust component library and design system that enabled consistent engineering output across iOS, Android, and web — and made white-label theming for enterprise customers structurally possible.
📋
Design Documentation
Created a documentation practice that preserved design decisions across long engineering cycles. When a feature shipped six months after design, the context was intact. The needle and thread that held cross-functional work together.
🧪
HIPAA-Compliant Research
Navigated the complex regulatory landscape of healthcare user testing — finding compliant paths to record and analyze sessions without capturing personally identifiable information. Built a research practice where none had existed.

The design documentation practice deserves particular attention. In most products, a designer hands off work and it ships within days. In healthcare, features could sit in engineering queues for months. Decisions made in a design sprint would be reinterpreted by the time engineering picked them up — the original rationale lost in a game of telephone across departments and stakeholders. Documentation became the institution's memory.


Advanced Provider Support

AI-powered contextual data that got physicians to the "aha moment" 46% faster.

The core clinical insight driving Advanced Provider Support: physicians spend a significant portion of every encounter asking questions they shouldn't need to ask. Medical history, recent procedures, past diagnoses — information that already exists in the patient's record but isn't surfaced at the point of care. Every redundant question is time the physician isn't spending on the problem at hand.

Advanced Provider Support used prediction to surface relevant patient context at exactly the right moment in an encounter. When a patient's first message contained a keyword — "pneumonia," "chest pain," "hysterectomy" — the system cross-referenced their history and surfaced the most relevant prior context for the physician before they even asked a follow-up question.

The result

Armed with relevant contextual data upfront, physicians could get to a faster clinical decision with 46% less back-and-forth Q&A. Faster encounters meant more patients served per physician, lower cost per visit, and — most importantly — patients getting answers in less time when they needed care most.

The design challenge was surfacing this intelligence without disrupting the clinical flow. Physicians are operating under time pressure, managing multiple concurrent encounters, making judgment calls that affect patient outcomes. The AI support had to be additive — enhancing existing clinical judgment, not replacing it or adding cognitive load.

Step 1 — Patient starts chat
Step 1. Patient starts chat. Keyword triggers contextual data retrieval in background.
Step 2 — Provider digs in with contextual data
Step 2. Provider digs in. Relevant history surfaced — recent hysterectomy + pneumonia keyword triggers deeper context.
Step 3 — Provider explains diagnosis
Step 3. Provider reaches diagnosis faster. Contextual data compressed the discovery phase significantly.
Step 4 — Provider reassures and confirms urgency
Step 4. Provider reassures and confirms urgency. ER referral made with confidence and clinical backing.
Patient chat interface on iPhone X
Patient-side chat interface. Real-time text exchange with a physician. The simplicity of the patient experience belies the clinical intelligence operating beneath it.

Accessibility & White Labeling

Color Math: a system that made enterprise theming and WCAG compliance work simultaneously.

White labeling for enterprise health plans like Kaiser Permanente sounds straightforward until you try to do it correctly. Each customer brings their own brand colors — often complementary schemes, strong hues, colors that weren't designed with UI contrast ratios in mind. Applying those colors naively to CirrusMD's interface produced results that were, at best, aesthetically inconsistent and, at worst, inaccessible.

The deeper problem was structural: our existing three-color analogous system (light blue, medium blue, dark blue) didn't provide the flexibility to accommodate arbitrary customer palettes. We needed a system that could accept any primary brand color and reliably produce a compliant, on-brand interface.

Color Math: dynamic HSL-based color generation that creates WCAG-compliant interfaces from any input color.

The solution was to stop thinking about colors as static values and start thinking about them as mathematical relationships. We built Color Math — a system that takes a customer's primary brand color and dynamically generates a dark version and a light version using HSL manipulation in code.

The math adjusts hue, saturation, and lightness to guarantee that the resulting palette meets WCAG contrast ratio standards. A customer's brand color might be a medium-value teal or a rich burgundy — Color Math would generate the corresponding dark and light variants that made the interface work, without requiring manual color decisions for each new enterprise deployment.

The byproduct: what started as a white-labeling engineering problem became one of the most robust accessibility features in the product. Every enterprise deployment was WCAG-compliant by default, without any additional design work per customer.

Primary
Dark
Light
Kaiser Primary
Kaiser Dark
Kaiser Light

Mobile SDK Kit

A white-label SDK that gave CirrusMD full UX control inside any host app.

One of CirrusMD's primary distribution channels for enterprise customers was the mobile SDK — an integration that let health plans embed the CirrusMD experience directly inside their flagship apps (Kaiser's app, Aetna's app) without redirecting users to a separate product. The challenge: when you're embedded in another app, that app's navigation controls your navigation. You inherit their UX decisions, their chrome, their interaction patterns.

The SDK redesign solved this by building a navigation layer that sat on top of the host app — removing the dependency on the host's navigation entirely. A single entry point, a single exit point, and full UX control within that container. The Encounter Stream — a persistent view of past and ongoing medical chat encounters — became the SDK's home base, with iOS modal interactions for individual encounter details that kept the experience feeling native without sacrificing CirrusMD's clinical UX standards.

Color inheritance was handled through Color Math, so the SDK automatically adopted the host app's brand identity on load — visually seamless from the patient's perspective.

Host app integration
Host App Entry
Encounter stream first visit
1st Visit Stream
New encounter modal
New Encounter
Encounter queue
Encounter Queue
Provider response
Provider Response
Progress note
Closed Encounter
Progress note details
Visit Summary
Active encounter stream
Active Encounter
Two concurrent active encounters
Concurrent Encounters
Mobile SDK — integrated into Kaiser host app. Color system inherited from host app via Color Math. Full encounter lifecycle: entry, queue, active chat, provider response, closed encounter, visit summary.

Patient Onboarding

Registration designed for the moment someone needs care — not the moment they're filling out paperwork.

Patient registration in healthcare typically feels like healthcare: long forms, insurance verification, confusing fields. CirrusMD's registration was designed around the reality of when and why someone was registering — they were likely already experiencing a health concern. Every unnecessary field was a barrier to care.

CirrusMD patient registration screen
Patient registration. Minimal required fields — birth date and member ID — with immediate app store links. Designed to get from registration to first encounter as quickly as possible.

Outcomes

Four years. A design practice built from zero. Healthcare delivered at text speed.

CirrusMD was where I learned what it means to design for the highest-stakes user context — where the person on the other end of your interface is worried about their health or their child's health, and the physician on the other end has seconds to make the right call. Every design decision carried real weight. The work demanded rigor, compliance expertise, and genuine empathy in equal measure.

46%
Reduction in clinical encounter time via Advanced Provider Support. Less back-and-forth Q&A, faster diagnosis, better patient outcomes.
$25M
In funding contributed to across Series A and B rounds. The product design work was central to the investor story and enterprise customer acquisition.
12+
Enterprise health plan customers including Kaiser Permanente and Aetna — won in part on the strength of white-label capability powered by Color Math.
Color
Math
Built a dynamic HSL-based color generation system that made every enterprise deployment WCAG-compliant by default — without manual color work per customer.
View all work
Back to portfolio
View all case studies →