Skip to content
megapromotingLet's talk
Products AirPosture

Posture & focus sessions Prototype in development

A break in attention for how you are sitting.

AirPosture, our posture and focus project, explores the use of motion sensors in compatible headphones. Head position is reported against a personal calibration, during a work session.

  1. 1Calibrare
  2. 2Orientarea capului
  3. 3Warning signal
Explanatory diagram ·AirPosture

AirPosture

From information to work done.

01

Calibrezi

You set a reference position for the session.

02

Observi

The system tracks the change in orientation relative to that reference.

03

Revii

A discreet signal can draw attention to a persistent deviation.

Where it becomes useful.

Focus

Work sessions with a timer and break moments.

Posture awareness

Feedback relative to calibration, using movement data.

Research on devices

We are exploring interactions between headphones, phone and desktop apps.

AirPosture is a prototype. Measuring head orientation is not a diagnosis of the spine, and operation depends on hardware and validation on compatible devices.

AirPosture in detail

What you can do with this project.

AirPosture uses the motion sensors in AirPods for one thing: how much your head has dropped relative to a position you calibrate at the start of a work session. When the deviation persists, you receive a discreet vibration. The rest of the app is a focus timer with breaks.

It does not measure the spine and does not try to. AirPods provide head orientation — pitch, roll, yaw — and nothing about the shoulders, thorax or back curvature. A lowered head with a straight back and a curved back with the gaze compensated upwards look the same to this sensor. The app says this upfront, because that is the difference between a useful tool and a false promise.

01

The AirPods pipeline

Uses `CMHeadphoneMotionManager`, Apple’s interface that exposes the sensors in the headphones. It delivers attitude (quaternion, pitch, roll, yaw), rotation rate, gravity, acceleration and `sensorLocation` — which AirPod is sending the data. The measured rate is around 25 Hz. A watchdog checks the stream every second: if no sample has arrived for more than 2.5 seconds, it restarts the connection and says why.

02

Quick or guided calibration

The quick version takes three seconds: stand upright, and the app keeps the median of your pitch. The guided version has five phases of three seconds each — neutral, chin down, look up, rotate left, rotate right — and learns the pitch sign for your headphone model instead of guessing it, then recalculates thresholds based on your real movement amplitude. The calibration report also says why it was poor: too few samples, head moved, laptop moved, movement too small up or down.

03

Three thresholds and a grace period

Below 7° from calibration means upright. Between 7° and 13° is drifting. Above 13° held for three seconds triggers the haptic alert. There is also a fourth threshold, in the other direction: above 10° up means “head raised”, so the app does not confuse a look at the ceiling with bad posture. The signal is exponentially smoothed with α = 0.15, so a normal head movement does not trigger anything.

04

Focus sessions and alerts that do not get tiring

Timer of 5, 15, 25, 45 or 60 minutes, with start, pause and reset. The posture alert has a default grace period of 300 seconds between notifications, AirPods disconnect 90, and tracking stream degradation 120 — a single event cannot fill the screen. At the end, the session reports the percentage of good posture, the number of alerts and the number of samples.

05

macOS companion and laboratory modules

There is a second target, `AirPostureMac`: menu bar, dashboards, 3D scene, diagnostics, health history and an acoustic laboratory. It builds locally, but it is not a finished product. In the same repository there are three separate iOS research apps — walking, interview response dynamics and an ear-EEG test bench — each with its own onboarding, all unvalidated on hardware.

Data and operation

What enters the system. What needs to be checked.

Everything stays on device
The angles and posture episodes and the raw motion from AirPods are marked `localOnly` in the app’s data policy. There is no standard HealthKit type for head posture, and the policy explicitly forbids converting orientation into steps, stand time or any other existing type just to make it fit somewhere.
Retention written into code
Raw samples are deleted after 14 days, per-second aggregates and events after 365, in a SQLite database in the app’s Application Support directory. The separate posture history keeps 90 days with one sample every 30 seconds. There is also full deletion, on request.
HealthKit read-only
Heart rate, HRV, SpO₂, respiration, sleep, mobility and audio exposure are read from HealthKit, with your consent, so they can be time-correlated with the posture history. The app does not write them and does not produce them: it does not have the biological sensor that could measure them.
What asks for permission and why
Motion and Fitness — for the sensors in the headphones. Camera — only if you enable visual torso checking. Microphone — only for audio features. HealthKit — only for the read above. Notifications — for the posture alert and the end of the session. When Motion permission is denied, the app says exactly that and where to enable it, instead of seeming broken.

From exploration to implementation

How we prepare a project with AirPosture.

01

We check the headphones

AirPods Pro, AirPods 3 and later, AirPods Max or Beats with H1/H2 chip. AirPods 1 and 2 do not have the necessary sensors and will never work. Availability is confirmed at runtime, not assumed from the model.

02

We calibrate per person

We run the guided calibration in five phases and read the quality report. If the up-down amplitude is too small or the head has moved too much, the calibration is repeated — the personal thresholds are derived from it, so a poor calibration spoils everything that follows.

03

We adjust the thresholds

7°, 13° and the three seconds of grace are the starting point, not a physical constant. The guided calibration moves them into bounded ranges — slouching between 5° and 9°, hunching between 10° and 18° — based on the person's actual amplitude.

04

We test comfort

An alert that becomes annoying is turned off, so it helps no one. It is checked whether the five-minute respite suits the way you work and whether the vibration is discreet enough in the presence of other people.

Questions worth clarifying.

What headphones does it work with?

With AirPods. It uses `CMHeadphoneMotionManager`, the Apple interface that exposes motion sensors from the headphones, at around 25 Hz. It works with AirPods Pro, AirPods 3 and later, AirPods Max and Beats with H1 or H2 chip. AirPods 1 and 2 do not have the necessary sensors. Other headphones do not provide this data.

Does it measure spine health?

No, and it does not try to. It measures one thing only: how much the head has tilted relative to a position you calibrate at the start of the session. Under 7° means upright, between 7° and 13° is slouching, and above 13° held for three seconds triggers a discreet vibration. Above 10° upwards is "head raised", not a problem. That is all.

Why is it not in the App Store?

Because of distribution, not code. The application compiles, passes 160 tests and installs and launches on the iPhone simulator, but `DEVELOPMENT_TEAM` is empty in the project specification, so a signed version for a real phone has never been built. Until that is resolved and the sensor flow is checked on physical AirPods, it remains a prototype — and we call it that.

Does it run in the background, all day?

No. `CMHeadphoneMotionManager` does not have its own background mode, and iOS suspends the application when it leaves the foreground. There is a common trick — playing silent audio to keep the process alive — and we deliberately excluded it: it contradicts rule 2.5.4 of Apple's review guidelines. The session runs with the application open. An "all-day coach" would require a different architecture and a discussion with App Review.

What happens if I have only one earbud in, or switch it during the session?

The flow continues — `sensorLocation` says which AirPod is sending the data, and the app has capture scenarios for both, left only and right only. But `sensorLocation` does not prove that the respective earbud is actually in the ear, and the transition both → left → right → both has not been verified on real hardware. It is on the not validated list, not the works list.

What happens to my motion data?

They stay on the phone. The app’s data policy marks them `localOnly`, and raw samples are automatically deleted after 14 days, aggregates after one year. They are not written to HealthKit — there is no standard type for head posture, and the app does not force-convert them into steps or anything else to make them fit. There is also full deletion.

Can AirPods read brain activity or detect lies?

No. We analysed both questions and wrote the answer in the project documentation. A brain scan is not possible with AirPods hardware and public interfaces, and a “lie detector” does not have sufficient scientific basis — the requirement was reformulated as observing response dynamics, which describes what is seen and does not issue a truth verdict.

Illustrative example

A 25-minute office session

A use case, without client data or attributed commercial results.

Initial situation

You put on the AirPods, open the app, choose 25 minutes and stand straight for three seconds while calibration runs. The app stores the median of your pitch as the reference.

How it works

At ~25 Hz, each sample is exponentially smoothed (α = 0.15) and compared with the reference. Below 7° — green. Between 7° and 13° — yellow, no alert. Above 13° held for three seconds — vibration. The grace timer starts: the next posture alert cannot come sooner than five minutes.

Rezultatul

At the end you see the percentage of time spent in good posture, the number of alerts and the number of samples. Nothing leaves the phone; raw samples are deleted after 14 days.

What is required:AirPods with motion sensors (Pro, 3+, Max or Beats H1/H2), an iPhone with iOS 17 or newer, the app in the foreground and the Motion & Fitness permission granted. It does not work on the simulator — there the interface does not return data.

Collaboration possibilities

AirPosture, in the context of your organisation.

Voluntary wellbeing programmes

Exploring a pilot for habits and personal feedback. Individual data do not by default become tools for employee evaluation.

Private companies

We define a pilot around a real process: users, data, integrations, costs and acceptance criteria. Expansion follows after evaluating the result.

State institutions and companies

We establish the requirements for accessibility, hosting, data protection and interoperability. Any connection to AGE or STISC services requires validation of eligibility, access and approvals.

These are adaptation scenarios, not statements about existing contracts or partnerships. The proposed functions are confirmed within the project scope.

Discuss a pilot

Part of an ecosystem.

What would you want to work better?

Tell us about your process. Together we decide what is worth building, what we can connect, and how we check the result.

Let's talk