How I gave a CPAP company living on doctor referrals a route to the nine in ten no doctor has met: one night of listening, then a qualified callback for The Air Station’s Customer Care Centre.
At a glance
- What it is
- Airese screens for sleep apnea from one night of listening at home, then hands a serious result to The Air Station as a qualified callback.
- What I owned
- Lead Product Designer. I also wrote the working front end that three rounds of testing ran on.
- The call I made
- v.01 led with a rich dashboard and six of sixteen found what the night meant. v.02 leads with one plain line and two numbers a person can check.
- The constraint
- It screens, it never diagnoses. A medical advisor cleared every line of copy that touches risk.
The problem
Most people with obstructive sleep apnea have never been diagnosed, and The Air Station could only reach the ones a doctor had referred. Airese replaces the 27-question clinical intake with one night of passive listening: a phone by the bed, a morning report in numbers a person can check, and a callback when the night is serious. Cold contacts become qualified leads.
Most people with obstructive sleep apnea have never been diagnosed, and The Air Station could only reach the ones a doctor had referred. Airese replaces the 27-question clinical intake with one night of passive listening: a phone by the bed, a morning report in numbers a person can check, and a callback when the night is serious. Cold contacts become qualified leads.
Role
Lead Product Designer
Team
1 designer, 1 engineer, 1 product manager
Timeline
2025 to 2027
Platform
iOS & Android Mobile App
Business impact
A direct route to patients, not just doctor referrals
The problem, in three parts
Undiagnosed
9 in 10
Nine in ten people with obstructive sleep apnea have never been diagnosed. They snore or gasp awake and never mention it to a doctor, so they are never referred.
Route to a customer
1
The Air Station owns no clinic and runs no screening. A customer existed only after a doctor diagnosed sleep apnea and referred them on, so referrals were the whole pipeline.
The bet
7 nights
Record a week of nights at home, explain each one in numbers a person can check, and let them decide whether they want a guide. Serious nights reach the Customer Care Centre as warm, qualified leads.
My role and contribution
Sole designer on the product, with one engineer and a product manager. Being the only designer across clinical, engineering and business voices meant the job was as much alignment as it was screens.
Owned end to end
- 01Research and Competitive Benchmarking, synthesised with Gemini
- 02Service Blueprint, from night to referral
- 03Every screen and interaction
- 04Rive Motion Design
- 05Three usability rounds, 16 participants, in a simulated sleep environment
- 06The front end those rounds tested, written with the Claude Code CLI
Non-negotiables
- 01Clinical: screens, never diagnoses. The medical advisor cleared every line that touches risk.
- 02User: smooth on the entry-level Android phones clinic partners use, and readable at 7am by someone who slept badly.
- 03Business: referrals were the only way in. Every serious night has to end with a person from the Customer Care Centre, not a screen.
The process
Three rounds, three changes of direction
What forced the change
What changed
Round 01
Digitise the questionnaire
What forced the change
Stakeholder review and early user conversations. A form on a phone is still a form, so the drop-off would move platforms instead of disappearing.
What changed
Passive listening replaced the form entirely. The night answers the questions while the person sleeps.
Round 02
Build a data instrument
What forced the change
Five set up without help, six found what the night meant, and the results screen read like an infographic.
What changed
Plain language first, data beneath it. The summary-first structure survived every later round.
Round 03
Make it conversational
What forced the change
The medical advisor and business stakeholders in one review. Clinical vocabulary kept readers at a distance, and the alarm framing risked panic instead of action.
What changed
A Sound Score from loud and snoring minutes, breathing pauses banded Low to High, a verdict written as a sentence, and an escalation that invites a conversation.
Each redirection was expensive. Each one was cheaper than shipping the wrong product.
Studying the category
Sleep Cycle, SnoreLab and SleepCheckRx, compared on onboarding, data density and tone. The consumer apps are warm and stop at the data; the clinical screener bands risk but needs a prescription. Airese takes the banding, keeps the warmth, and adds a route to a clinician.
Process archive - the full flows & structure, 2 artefacts for the deep read
The process
New users create an account before anything is recorded, so every night belongs to someone who consented. Returning users sign in here and skip onboarding.
Night setup asks for a wake-up time that ends the recording automatically, added after testing showed people forgot to stop on waking, plus optional tags for what they are trying tonight.
Every night gives a Sound Score from loud and snoring minutes, plus breathing pauses per hour, each banded Low to High against clinical thresholds rather than an invented scale.
A severe pattern does not end in a frightening number. It invites a callback from The Air Station Customer Care Centre, and on towards a checkup or a Home Sleep Test. That handover is the point of the app.
Information architecture
The solution
Two features carry the product: a wizard that gets a worried person recording tonight, and a morning report they read from the numbers, with the route to the Customer Care Centre built into it.
A wizard that gets everything ready before the first night
Onboarding collects every requirement a usable recording depends on, in order, before record: microphone, optional health data, notifications, then the night. The 27 clinical questions were reassigned, not asked. Ten are answered by the night, eight wait for a callback, nine screening steps remain.
- Each permission is asked after the person knows what it enables; a decline explains the limit rather than ending the flow.
- A wake-up time ends the recording automatically, added after seven of sixteen forgot to stop the session on waking.
- Each permission screen is animated in Rive, showing what it enables before the OS dialog interrupts.
- Consent is split in two, terms and sleep-result analysis, so the privacy promise on the callback sheet holds up later.



The wizard, every screen in order
Motion design
5 onboarding screens in Rive, drag to browse, built light for low-end Android
Track your sleep sounds
The soundwave forms as the copy reads, so the mental model, the phone listens while you sleep, lands before the first ask.
Enable the microphone
The mic pulses as the explanation appears, then the OS dialog follows. The animation is the rehearsal; the dialog is the exam.
Connect your health data
A steady heartbeat shows what a wearable adds. Optional, and the motion says so by staying calm.
Get your morning report
The report arriving is the one notification worth allowing, so that is the moment the scene plays.
Ready for your first night
Charging, near the bed, microphone facing you: the checklist animates the three conditions a usable recording depends on.
A morning report read from the numbers, and one route out of it
The report opens with one line a person can repeat to a partner, then two large banded numbers, then the chart. Both are checkable arithmetic: 69 plus 51 makes 120; 160 pauses at 22.2 an hour, banded Moderate. A qualifying night books a callback.
- Participants read a number and a chart faster than a paragraph, and trusted what they could check over a summary.
- Every number opens an advisor-cleared explainer written for a worried person, not a clinician.
- Every capture is timestamped and replayable. Hearing your own airway stop at 4:52 AM turns a score into a decision.
- The callback bar never pulses and is absent on calm nights. The scheduling form was designed, tested and cut: a worried person should not be negotiating time slots.



From wake-up time to the morning report
[ Clinical negotiation ]
Clinical rigour without the clinical vocabulary
Where we landed
A guide, not a diagnosis. Every serious night ends with a person on the phone, not a screen.
Clinical accuracy wanted medical words; testing wanted plain ones. The medical advisor and I settled it line by line: Airese keeps the clinical thresholds, never prints the vocabulary, and every number opens an explainer he cleared.
The other cut was scope. Participants asked for one-to-one expert help we couldn’t staff, so the honest version is a callback booked in-app.
Solving the hardest problem: v.01 against v.02
Option A · v.01, the build tested in round one
The hypothesis: a rich dashboard speaks for itself. A count with no band, blood oxygen red as the only colour, and the verdict below the fold. Six of sixteen found it.

Option B · v.02, the build the MVP ships
One plain line a person can repeat, then two large numbers on named bands, then the chart. Fourteen of sixteen found what the night meant in round three, and SUS rose from 52 to 78.

16
Participants, the same across three rounds
6 to 14
Of 16 found what the night meant, v.01 to v.02
5 to 14
Of 16 set up without help, v.01 to v.02
52 to 78
System Usability Scale, v.01 to v.02
What testing surfaced
I believed a rich dashboard would speak for itself, so v.01 put the data first and the verdict last. Round one: six of sixteen found what the night meant, most scrolled past the charts, and one night showed different numbers in twelve places.
What version two answered
- 01The verdict moved to the top as one plain line a person can repeat to a partner; then the words get out of the way.
- 02Four metrics became two large banded numbers, each checkable by hand: 69 plus 51 makes 120, 160 pauses at 22.2 an hour. One formula and one denominator everywhere.
- 03Clinical vocabulary out, clinical thresholds kept. Every number opens an explainer the medical advisor cleared.
- 04The full-screen alarm state became a quiet line under the results that leads to a person, and the scheduling form was cut from the callback.
Why the numbers won
Participants scanned for a number and a colour before reading a sentence. Several said a paragraph about their night felt machine-written, while a number they could add up themselves felt like theirs. The research agrees, with one caveat.
- 01
East Asian participants attend to whole-scene context more than Western participants, who focus on focal objects. The root of the density hypothesis: a report read as a whole, not a headline.
Masuda & Nisbett, J. Personality and Social Psychology, 2001 - 02
Across 2.4 million ratings from 179 countries, taste for visual complexity and colourfulness varies by country; Singapore and Malaysia sit in the higher-colourfulness group. Appeal, not task performance.
Reinecke & Gajos, CHI 2014 - 03
The caveat: Japanese participants were slower than American ones on highly complex pages. Density is a hypothesis to test, not a given, so every number keeps a one-line plain read-out.
Baughan et al., CHI 2021
Try the simulated build
The screening flow, running live
Static screens cannot test whether nine steps really replace a 27-question intake, so I built the flow as a working front end.
Our engineer was deep in the machine learning model, so I wrote it myself: Next.js, Framer Motion, Claude Code CLI in VS Code. Vibe coding, and I’ll call it that. First build took a few hours.
Walk it the way a worried person would: sign up, onboard, set up a night, read the morning result. Tap the breathing pauses card for the evidence sheet, then follow the callback.
A front-end simulation only: no backend, no model, so the night it shows is fixed sample data and nothing is recorded. Unbuilt paths say what the real one would do rather than sitting dead.
Open full screenTap the icon to launch
Outcome
Where the 27 questions went
10 + 8 + 9 = 27
- 0110
Questions automated
Ten symptom questions are answered by the night itself: the microphone captures breathing and snoring, and a wearable contributes blood oxygen.
- 028
Account fields, kept out of screening
Eight registration fields belong to sign-up, not to the screening wizard, so the nine steps a worried person walks are all about the night.
- 039
Steps retained
The screening steps that remain in the wizard, the only ones a person still answers by hand.
Traction before launch
Six doctors across Singapore, Malaysia and Indonesia committed to receive Airese referrals on the strength of the working design alone, and the pilot then put the flow in front of real patients.
The design is finished and tested. The model that scores the night is not: from a phone by the bed it has to separate a snore from a cough, a choke, a snort, a gasp, a breathing pause and ordinary movement. Calibrating that takes millions of sound variations, and a screener that misreads a night is worse than one that arrives late. That moved the MVP two months, to January 2027. For The Air Station it is still a lead engine, every serious night a qualified callback.
What the work taught me
The job was holding clinical caution, engineering constraints and business goals in one coherent product voice.
Clinical alignment is a design practice
Every risk-adjacent line went through the medical advisor. Treating that review as part of the design loop rather than a final gate kept credibility and warmth from pulling the product apart.
Evidence over intuition
I was wrong about the first build. I believed a rich dashboard would speak for itself; round one returned five of sixteen setting up unaided, six of sixteen finding what the night meant. Nobody argued about priorities after that.
Scope to what can be staffed
Users asked for one-to-one expert help we could not resource. The scoped answer: a critical result books a real callback, and an Explore library keeps trustworthy guidance in-app. That trade-off protected users and the roadmap.
Language is risk management
Framing the result as an awareness indicator banded by severity let the product be useful and safe without overstepping into diagnosis. The highest-stakes decisions here were wording choices.
The tools carried the volume, not the judgment
Three rounds needed a real build, not a Figma prototype pretending to be one. Gemini read the session notes back to me and drafted copy variants; the Claude Code CLI wrote the front end while I learned enough JavaScript to steer it. Each round went live in hours instead of sprints. What neither could do was decide which finding mattered, and every round turned on that call.


