About CPAP Clarity
Built by a CPAP user. Free, private, no account.
Why CPAP Clarity Exists
I built CPAP Clarity because the tools available to CPAP users didn't match what I actually needed. ResMed's myAir gives you a daily score and hides the data behind it. OSCAR is powerful but has a learning curve steep enough that most new users bounce off it in their first week. Subscription apps charge monthly for features that should be free. I wanted something in between: detailed enough to be useful, simple enough to use every morning before the coffee kicks in.
Who I Am
I'm a US Navy veteran with service-connected sleep apnea. I've been on CPAP since 2023, every night, and I pull my own SD card every morning out of the same class of machine I'm writing about here. Every feature on CPAP Clarity exists because I wanted it for my own therapy first: seeing exactly how many events happened and what type they were, understanding whether a leak spike actually mattered, tracking trends over weeks and months, and generating a report I could hand to a sleep doctor or a VA examiner without having to explain what a pressure graph is.
I'm not a sleep physician, a sleep technologist, or a credentialed medical professional. I'm a patient who builds software. Everything on this site reflects that: it's educational, not clinical, and it's meant to help you have better conversations with your provider, not replace them.
I've spent 18+ years in the software industry at Fortune 500 and publicly-traded technology companies. My work has spanned ecommerce, middleware, mobile, web-based systems, and developer platforms serving millions of users, across software engineering, quality, product, and leadership. Every product decision, every accuracy gate, and every privacy rule on this site is mine, and every change is reviewed before it ships.
How This Is Engineered
CPAP Clarity is built to the same standard I hold production software to at my day job. The codebase carries 3,750+ automated tests across 200 test files, including a three-layer regression suite that pins every supported device parser's output against OSCAR ground-truth bundles, cross-surface numeric equivalence between the dashboard / PDF / AI export, and an end-to-end Playwright spec for the backup-and-restore flow. Every pull request runs through an automated code review, silent-failure audit, and test-analyzer pass before merge. No exceptions.
Production incidents and bug reports are typically acknowledged the same day and resolved within days. When a community member reported that one of their nights was missing from the imported history, the root cause was diagnosed and patched in a single afternoon. When a silent analytics gap was uncovered during internal review, the fix shipped in the next release. Admin dashboards monitor every user-facing metric in real time: import success rates per device family, per-session storage health, cross-browser telemetry, and search performance. Regressions surface automatically so a parser bug cannot silently corrupt anyone's numbers.
Everything ships from a version-tagged release with a public changelog and a roadmap you can read. The site has a 15+ merged-pull-request cadence per month since launch, and every change is attributable.
How I Verify the Numbers
CPAP Clarity has to show you the right numbers. Not close. Right. A sleep-health tool that displays an AHI of 19 when your machine recorded 4 isn't just a bug, it's a betrayal of the reason the tool exists.
Every supported device is cross-validated against independent references before its parser ships to production. The primary reference is the manufacturer's own companion app (or the raw per-session duration and event records the device itself stores on the SD card). Community tools like OSCAR are used as secondary references where they work, with known limitations documented in the device-specific notes. Every new parser has to pass the cross-validation gate before it ships. No exceptions. Discrepancies above a tight tolerance band are tracked to resolution before the next release.
This policy exists because early in the project, one user's imported numbers disagreed with their machine's companion app. The difference wasn't small. I spent several days reverse-engineering the firmware format against the companion app's output until the numbers matched exactly. Every new device parser now inherits that hard-earned rule: match a trusted reference or don't ship. That one incident is the reason cross-validation is a gate on every device parser, not a nice-to-have.
How the Therapy Score Is Computed
The therapy score on the dashboard is a 0 to 100 value built from four components with explicit, documented weights:
- AHI component (35 pts): your duration-weighted average event rate, scored against AASM-inspired clinical severity thresholds. Longer nights count more than short ones because AHI is more reliable over longer sleep periods. A perfect score at AHI 0, dropping steeply at the mild, moderate, and severe inflection points.
- Usage component (25 pts): average hours of therapy per night, scored against the 4-hour Medicare compliance inflection. Full credit at 7 or more hours.
- Seal component (20 pts): mask seal quality, measured via average leak, calibrated to the same thresholds the insight rules use to flag seal problems.
- Consistency component (20 pts): the percentage of calendar days in the scoring window that hit the 4-hour compliance bar. If you mark travel nights (CPAP trips without SD card data) in the app, those count toward consistency too.
The score always looks at your most recent 14 nights, not the full window you have open on the history page. This is deliberate: the score is meant to reflect how your therapy is trending now, not what happened three months ago, and two weeks is long enough that one rough Saturday does not drop a user into "Needs Attention" on Monday. Every one of the four components is computed the same way for every user. There are no hidden adjustments and no personalization that drifts the score toward a target. If you want to understand why a night scored the way it did, the dashboard breaks down all four components alongside the total so you can see exactly which one moved.
How the Articles Are Written and Reviewed
The Learn articles on this site are researched and written from primary sources: peer-reviewed sleep medicine literature, manufacturer documentation, AASM clinical guidelines, VA disability rating criteria where applicable, and first-hand experience as a CPAP user. Every article is dated, and articles that have been substantively updated carry an "Updated" date alongside the original published date.
When an article makes a specific clinical claim, it links out to the source. When an article reflects personal experience as a patient, it says so. When the honest answer is "we don't know yet," the article says that too. I'd rather have 81 articles I can defend than 500 I can't.
This site is a work in progress. If you find a factual error, the feedback form goes directly to my inbox and I fix things fast. The trust moat is the only moat that matters for a free health tool.
Privacy First
Your CPAP data never leaves your browser. There are no accounts, no cloud storage, and no servers processing your health information. When you import your SD card data, it's stored in your browser's local IndexedDB. When you clear your browser data, it's gone. When you close the tab, I still can't see any of it, and neither can anyone else.
This is a deliberate architectural choice. Health data deserves the strongest possible privacy protection, and the cleanest way to guarantee that protection is to make it technically impossible for me, or a future attacker, to access the data in the first place. The anonymous analytics that power the admin dashboard count page views and event types. They never touch the contents of your SD card.
Revenue Disclosures
CPAP Clarity is free to use. There is no premium tier, no paywall, and no feature gating for individuals. The site carries the following independent revenue surfaces:
- Amazon Associates affiliate links on some Learn articles. As an Amazon Associate I earn from qualifying purchases at no extra cost to you. Recommendations are based on editorial merit, not commission rate.
- Buy Me a Coffee as a separate, unrelated tip jar for readers who want a way to say thanks. It is not tied to any product link or recommendation.
- Display ads on article pages, when eligible. The Dashboard and History pages are always ad-free.
- Selective brand partnerships with companies in the CPAP and sleep health space whose offerings align with the editorial standards on this site. Editorial independence is guaranteed in writing. If you represent an organization evaluating a partnership, the partnerships page covers audience, standards, and engagement shapes.
If CPAP Clarity has helped you read your data, the most useful thing you can do is mention it to one other CPAP user. The people who try this site are almost always sent here by someone they already trust with their sleep questions.
Community
CPAP Clarity launched on Reddit's r/CPAP and r/SleepApnea communities in March 2026. The community response was overwhelmingly positive across 200+ comments, with multiple users calling it “exactly what I needed between myAir and OSCAR.” The r/CPAP launch thread reached 287 upvotes, 8 awards, and 48,000+ views. Across both threads, 55,000+ people saw the announcement.
Every feature request and bug report from those threads was addressed, most within hours. Six community members volunteered their own SD card data to help expand device support to the AirCurve 10, AirCurve 11 ASV, BMC E-20A, BMC G3 A20, and React Health Luna G3. Every one of those devices is now fully supported and cross-validated, built entirely from data that real users trusted me with. Croatian volunteer data drove Löwenstein Prisma Smart support (the first continental-EU device on the site) and a longtime supporter contributed Wellue O2 Ring overnight pulse-oximetry data, which became the first non-CPAP integration. Oura Ring support followed, adding sleep stages, HRV, body temperature, and readiness next to the same night's CPAP and oxygen data.
Not Medical Advice
CPAP Clarity is an informational and educational resource. It is not a medical device, it does not diagnose conditions, and it does not recommend treatment changes. Always work with your sleep physician, primary care provider, or licensed sleep technologist for clinical decisions. The insights and scores generated by CPAP Clarity are designed to help you have more informed conversations with your provider, not to replace them.
Contact
If you have feedback, find a bug, or want to share how CPAP Clarity has helped you, the feedback form goes directly to my inbox. You can also email hello@cpapclarity.com directly. If you use a CPAP device that CPAP Clarity doesn't yet support and you're willing to share SD card data to help build support for it, I'd especially love to hear from you.