The SDK

A file you embed — not a service you call.

ApneaSense is a detection engine — a 56.4 KB on-device model plus the event pipeline that makes it usable. You feed it microphone frames; it returns a stream of breathing events. No backend, no per-call cloud cost, no audio leaving the device.

What it detects — three levels, one engine

Start where your product is today; move up when it's ready. The upgrade path is built into the same engine.

  • Snore detection — snore episodes with start, end, intensity, and confidence. The broad, easy-to-verify signal you can hear yourself. The low-friction way in.
  • Breathing pauses — pause events with start, end, duration, and confidence. The signal that matters for apnea screening, and the one most products can't do well — validated against PSG. This is the part others don't have.
  • Both, plus nightly indices — full detection plus per-night summary indices (sleep regularity, breathing patterns) computed on-device. The turnkey tier when you want indices, not just raw events.

Any level can run as a real-time stream — emitted per event as the night runs — or be read as a nightly summary.

Illustrative timeline of one night, 22:00 to 06:00, with two rows of event markers — snore episodes and breathing pauses.
Illustrative One night of output — snore episodes and breathing pauses on a single event timeline. The real markers come from your own data.

The contract — what goes in, what comes out

The whole interface, on purpose: raw mic frames in, structured events out. The hard part — validated detection — sits inside; fitting the stream to your product is the part you own.

IN

feed(audioFrames, sampleRate)

  • raw mic PCM, mono, any sample rate — the engine resamples
  • plus a session start time and a signed license key
  • never features — the front-end stays inside the engine
OUT
  • SnoreSnoreEvent { start, end, duration, type, dominantFreqHz, confidence }
  • BreathingBreathingEvent { start, end, duration, type (pause | shallow), confidence }
  • Both + indices+ SessionSummary { duration, event counts, valid-detection time, optional nightly indices }
  • throughoutEngineStatus { warming-up | valid | too-noisy }
  • optionalAudioSegment { event-aligned PCM } — handed back in memory; you decide whether to keep it

Your audio — your device, your call

The engine is stateless: it never holds, stores, or uploads audio. And because you own capture, the night's raw audio is already in your hands — keep it on-device if your use case needs it (research re-analysis, building your own corpus, audit playback), or drop it. "Audio never leaves the device" is the privacy story; "you can retain it on-device" is the research one — both are true at once. Whatever you store, the data-handling responsibility sits cleanly on your side.

What never leaves the engine

Separate from your audio — these stay inside, for anyone: extracted features, per-frame scores, model weights, thresholds, and the gating internals. That single boundary is both the privacy line and the IP line.

What ships

  • The engine — the 56.4 KB model (9,416 INT8 parameters, 0.064 ms inference) plus the event pipeline, built for your platform: CoreML, TFLite, or an embedded chip. You embed an engine, not a raw model to interpret.
  • The integration kit — a clean API, a sample app, and the docs. Mic frames in, events out.
  • The validation pack — the methodology, per-seed metrics, and code behind the numbers: your team verifies before committing, and you have evidence to support your own filing if you ship in a regulated product.
  • Source in escrow — you embed a compiled engine; the source sits in escrow, so you're never dependent on us still being here.

How integration goes

Mic frames in, events out. It runs on the device, so there's no inference server to stand up and nothing to scale. Most integrations are measured in days, not quarters — the model is the easy part; fitting the event stream to your product is where the real work is, and that's yours to own.

  • On-device — runs on the phone or chip
  • No cloud — audio never leaves the device
  • Every night, real-time — a live stream your product can build on, not a morning batch

ApneaSense is detection only. What your product does with the events — surface them, log them, act on them — is your product, and your call. We don't respond, treat, or intervene.

Start with a small pilot

The first step isn't a contract. It's a focused, paid pilot — your device, your environment, a few nights of real data — from $15k, and creditable toward the license if you go ahead. That's where you benchmark it in your context, on your hardware, against your bar; we cover our time and prove the fit. Not a big commitment, not a long procurement.

If it proves out, the standard next step is a license — you embed the engine and integrate it yourself. That's the path that keeps you fast and keeps us out of your way.

the default
SDK license + self-integrate
Embed the engine in your product, on terms that match how you ship. Mic frames in, events out — most integrations are days, and the integration is yours to own.
if you want hands
Integration help
A small, bounded piece of work if you'd rather we fit the engine to your hardware. Capped — not an open-ended services contract.
selective
Co-development
Joint work on a platform-specific capability. We take these rarely, and only when it folds back into the engine we maintain.

Engagements start with a paid pilot — from $15k, creditable toward a license. License terms scoped to how you ship.

Compliance

ApneaSense is a detection engine — not a medical device, and not FDA-cleared. If you ship it inside a regulated product, the regulatory responsibility is yours, and we write that into the license. If you go that route, we'll hand you the validation evidence to support your own filing.

Tell us what you're building.

We'll send the paper and the code, and scope a small pilot — your device, a few nights.

[email protected]