UX/UI Motion Vibes About Visitors

Nocta / AI CPAP Companion

A night,
narrated.

Nocta reads a CPAP machine's overnight data and writes one honest, plain-language story — what happened, what likely caused it, and the single next thing to try.

Scroll

Role

UX Research
UX/UI Design
Front-end Build

Timeline

Concept — Spring 2025
Prototype — 2026

Stack

React + Vite
Chart.js
OpenAI · SleepHQ

Discipline

Product Design
AI UX & Safety
Data Visualization

01 The Problem

Most people quit CPAP therapy before it can help them.

CPAP apps swing between two failures: they bury patients under raw charts, or they hide the data entirely behind a single green checkmark. Neither builds the confidence and curiosity that keep someone wearing an uncomfortable mask night after night — so most stop within the first month.

A two-minute primer

What we're working with

Before the design, a little context. Three things shape every decision in Nocta: the condition, the hardware that treats it, and the rule that decides whether insurance keeps paying for it.

01 · The condition

What is sleep apnea?

Sleep apnea is a disorder in which breathing repeatedly stops and starts during sleep. Pauses can last from a few seconds to minutes and may happen hundreds of times a night — fragmenting sleep and starving the body of oxygen. There are two main types.

Obstructive sleep apnea — a blocked upper airway
OSA

Obstructive sleep apnea

The most common form — the upper airway physically collapses or is blocked, restricting oxygen even as the body keeps trying to breathe.

Central sleep apnea — a missed signal from the brain
CSA

Central sleep apnea

Less common and harder to spot — the part of the brain that controls breathing misses a beat, so the body simply doesn't try to breathe.

02 · The device

What is a CPAP machine?

CPAP — Continuous Positive Airway Pressure — delivers a steady stream of pressurized air through a mask worn over the nose or mouth, splinting the airway open through the night. Pressure and timing are tuned to the patient, and the machine quietly logs every breath it delivers.

The machines

ResMed AirSense 11
ResMed AirSense 11

The masks — fit is everything

ResMed AirFit P30i nasal pillow mask
AirFit P30i · nasal pillow
ResMed AirFit F30i full-face mask
AirFit F30i · full face
ResMed AirFit F20 full-face mask
AirFit F20 · full face
The designer wearing a CPAP mask
An elephant part elephant…
A fighter-jet pilot …part Top Gun

03 · The stakes

And what is “compliance”?

Compliance is how consistently you use the machine as prescribed. Insurers define it with a hard threshold — and it's where most people fall off, often without realizing the clock is running.

4hper night
+
70%of nights
within
30days

Miss that bar and you can lose insurance coverage entirely — paying out of pocket for the machine, the mask, and every replacement supply. The pressure to “pass” often matters more to people than the therapy itself.

02 Desk Research

The numbers were bleak.

Secondary research across the National Library of Medicine, BMC Pulmonary Medicine, and the Journal of the American Heart Association painted a clear gap between diagnosis and follow-through.

30M

Americans are suspected of having sleep apnea

25–34%

stay on CPAP therapy past the one-year mark

6.8%

are both diagnosed and stick with treatment long-term

Competitive Analysis

Powerful but cold — or polished but elsewhere.

I scanned the apps people already use: the CPAP-specific tools built for the data, and the consumer wellness apps built for the habit. The gap between the two — clinical depth with a human voice — is where Nocta lives.

Direct · CPAP & sleep-data tools

SleepHQ — CPAP data analytics 6 screens

SleepHQ

Deep CPAP analytics — powerful, but built for power users.

ResMed myAir — the official CPAP app 6 screens

ResMed myAir

The official app — one nightly score, little of the “why”.

OSCAR — open-source CPAP desktop software 4 screens

OSCAR

Free desktop software — every data point, zero guidance.

Indirect · Consumer wellness & wearables

Oura — readiness and sleep tracking 6 screens

Oura

Beautiful readiness scores — but blind to CPAP.

Whoop — strain and recovery tracking 6 screens

Whoop

Strain & recovery, gorgeously visualized and habit-forming.

Pillow — iOS sleep tracking 6 screens

Pillow

Friendly iOS sleep tracking — warm, but light on depth.

Community Research

The same story, hundreds of times.

Beyond the studies, I read through r/CPAP and r/SleepApnea — the human side of that 6.8%. Post after post described the same struggle: drowning in raw numbers, fighting clunky tools like OSCAR, and just wanting someone to explain what it all means.

Reddit post about CPAP therapy struggles Reddit post about OSCAR data Reddit post about CPAP therapy
Reddit post about CPAP data confusion Reddit post about CPAP therapy struggles Reddit post about CPAP therapy
Reddit post about CPAP apps Reddit post: Help needed, BIPAP data Reddit post about OSCAR data

Underneath the frustration, the same quiet hope kept surfacing —

A Reddit user: “I'm ready to start feeling better.”

User Interviews

Six CPAP users, one recurring wish.

I sat down with six people who actually wear the mask every night — an engineer, a veteran, a self-treating researcher, a designer, a retired lawyer, and a long-haul trucker. Very different lives, strikingly similar frustrations.

KL

Kathy Lee

Software Engineer · Portland

Wished out loud for a “CPAP virtual assistant” that gives tips for her specific issues.

ResMed F40 · myAir + SleepHQ

CF

Cody Fowler

Veteran & Student

myAir's averaged-out data hides what actually happened overnight.

Memory-foam mask · myAir

SJ

Susan John

Self-treating researcher

Self-tunes with OSCAR, Python & ChatGPT — wants longitudinal depth and autonomy.

APAP / ASV · OSCAR

MR

Miles Rochford

Product Designer · San Francisco

It shouldn't feel so medical — therapy should feel personal.

BiPAP — OSA + CSA · MyBreeze + SleepHQ + OSCAR

RT

Robert Tucker

Lawyer, 66

A comfortable mask is what makes compliance actually stick.

BiPAP · ResMed AirSense 10 · myAir

MB

Marcus Bell

Long-haul Trucker · Ohio

I need to know I'm passing compliance — my CDL depends on it.

ResMed AirMini, on the road · myAir

What I heard, again and again

Mask fit is the real battle

Nearly everyone cycled through many masks (Kathy tried nine) before one stuck — and discomfort is exactly where people quit.

Apps are all-or-nothing

myAir felt too shallow; OSCAR too complex. Everyone wanted the missing middle — real detail, without the overwhelm.

They want a guide, not a dashboard

From “virtual assistant” to ChatGPT consults, users already reach for AI to interpret the data and say what to try next.

It feels clinical — it should feel human

Compliance pressure makes therapy feel like being a medical device. People wanted warmth, autonomy, and encouragement.

The Opportunity

“How might we make CPAP data feel actionable and human — so people feel guided, not graded?

The Solution

Distill each night into one honest story — what happened, what likely caused it, and the single next thing to try — wrapped in calm charts and wearable context.

Before the pixels

Divergent sketches.

Before opening Figma I sketched widely on paper — many rough takes on the nightly story, the dashboard, and how a single number should feel. Most were wrong, which was exactly the point: cheap to draw, cheap to throw away.

Early paper sketch of the Nocta dashboard
Early paper sketch of the nightly story layout
Early paper sketch of metric cards
Early paper sketch of trends and charts
Early paper sketch of a single number view
Early paper sketch exploring navigation
Early paper sketch of the home screen

Iterations

Three passes to the right feel.

Back in March 2025, Nocta was my grad-school capstone — researched, designed, and built entirely by hand, no AI in the loop. Each pass clarified the hierarchy and warmed the palette, moving from grey wireframes toward a darker, calmer system.

Version 1 — landing
Version 1 — dashboard
Version 1 — expanded dashboard
Version 1 — trends
Version 1 — masks
Version 1 — detail

03 Design System

Designing for 2 a.m.

People open Nocta in the dark, half-awake, often anxious about a number. The system leans into that — a deep-navy canvas, one warm sunrise-peach accent reserved for the AI's voice, and serif numerals that read calm rather than clinical.

Palette

Base Surface Metric Attention Accent

Typeface

Instrument Serif Display & numerals — the calm, human voice
Inter Body & UI — quiet and legible

The “why-card”

The hero component — and the whole product in miniature. Every morning it renders one of five states, from a steady night to a flagged escalation.

  • 01 A one-line verdict, in plain language
  • 02 A sparkline carrying the shape of the night
  • 03 Exactly one suggested next action
  • 04 A tappable “receipts” row — the data it reasoned from
The Nocta why-card component

The Result · Today

A more personal way to treat sleep apnea.

Tonight tab — the nightly story
Tonight
Full night — breath-by-breath detail
Full night
Trends tab — patterns over time
Trends
Therapy tab — compliance projection
Therapy
You tab — connected devices
You

04 Features

Five surfaces, one calm story.

01

The AI why-card

Instead of a wall of charts, the first thing you see is a sentence: what last night was, in your words. It stays honest on rough nights, hedges on cause, and ends with one concrete thing to try.

Tap the receipts row and it shows its work — the exact metrics it reasoned from, plus a confidence label.

02

Tonight, at a glance

Below the story sits last night's AHI against your personal baseline, scannable secondary metrics, and a timeline of the night with apnea events marked and tappable.

Open any night for the full breath-by-breath stack — flow, pressure, leak, and snore.

03

Trends over time

Zoom out to 7, 30, or 90 nights. Every chart shares one date axis, so AHI, pressure, leak, and usage line up at a glance.

Best- and worst-night comparisons surface what changed, and journal patterns connect what you logged to how you slept.

04

Therapy & compliance

A projection bar shows where the 30-day compliance window stands without ever feeling like a grade. Equipment reminders flag a worn mask or filter.

One tap exports a clean, AI-free PDF to bring to the doctor.

05

Connected devices

Apple Watch, Oura, and Whoop layer heart rate, HRV, and sleep stages onto the same night, one card per source — each pausable per-permission without disconnecting.

Adding a device runs a full mock OAuth flow: authorize, sync 30 nights, done.

05 AI Safety Rails

An insight that knows its limits.

The moment an app interprets clinical data, it risks becoming a regulated medical device. Nocta's AI lives inside hard rails: every insight is typed JSON with cited data, a confidence label, and a disclaimer — and certain patterns route straight to “talk to your doctor.”

Honest, not cheerful

No “great job!”, no streak trophies. A bad night is named calmly and plainly.

Hedged on cause

“This pattern often suggests…” — never “this means” or “you have.”

Never diagnoses

It won't name a condition or recommend a pressure change. Ever.

Escalates to a doctor

Central-apnea or SpO₂ patterns trip a physician-referral flag.

06 Testing → Shipped

From feedback to features.

I brought survey and interview participants back to test mid-fidelity wireframes. Their three biggest asks moved from “nice idea” to shipped in the working prototype.

Compliance projection on the Therapy tab

Insight

Users worried about compliance and whether they'd keep their insurance coverage.


Shipped

A compliance projection on the Therapy tab — progress toward the 30-day window, framed as encouragement, never a grade.

Insight

Patients wanted to link smart wearables for richer overnight context.


Shipped

Apple Watch, Oura, and Whoop integrations with a real connect flow and per-source body-response cards on the home screen.

Connected devices in the prototype
Customizable home-screen metrics

Insight

People wanted control over which metrics lead the home screen.


Shipped

Customizable secondary metrics — including any connected wearable's readings — surfaced right under the nightly story.

Responsive by design

The same story, on the big screen.

Nocta isn't only a phone in your hand. The prototype reshapes into a full desktop dashboard — a persistent sidebar, the nightly story as a hero, and every chart given room to breathe across a two-column layout. Same data, same calm voice, more space to explore.

07 Impact

What it sets out to change

Reduce confusion

by translating raw CPAP data into personalized, plain-language insights people can understand and act on.

Build confidence

by helping users see what's working, what's not, and the one adjustment worth trying tonight.

Support the long haul

through gentle, honest habit-building that keeps people on therapy past the month that usually breaks them.

Interactive Prototype

Beyond the design, I built a working React prototype — running on my own CPAP data, every chart rendered with Chart.js, and AI insights shipped as typed JSON ready for OpenAI's Structured Outputs and the SleepHQ API.