Calibrezi
You set a reference position for the session.
Postură & sesiuni de focus Prototip în dezvoltare
AirPosture, our posture and focus project, explores the use of the motion sensors built into compatible headphones. Head position is measured against a personal calibration, over the course of a work session.
AirPosture
You set a reference position for the session.
The system tracks how the orientation shifts away from that reference.
A discreet signal can draw your attention to a deviation that persists.
Work sessions with a timer and moments of rest.
Feedback relative to the calibration, using motion data.
We explore interactions between headphones, phone and desktop applications.
AirPosture is a prototype. Measuring head orientation is not a diagnosis of the spine, and whether it works depends on the hardware and on validation across compatible devices.
AirPosture in detail
AirPosture uses the motion sensors in AirPods for one thing only: how far your head has dropped from a position you calibrate yourself at the start of a work session. When the deviation persists, you get a discreet vibration. The rest of the app is a focus timer with breaks.
It does not measure the spine, and it does not try to. AirPods report head orientation — pitch, roll, yaw — and nothing about the shoulders, the chest or the curve of the back. A lowered head above a straight back and a hunched back with the gaze tilted up to compensate look identical to this sensor. The app says so up front, because that is the difference between a useful instrument and a false promise.
It uses `CMHeadphoneMotionManager`, the Apple interface that exposes the sensors inside 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 roughly 25 Hz. A watchdog checks the stream once a second: if no sample has arrived for more than 2.5 seconds, it restarts the connection and says why.
The quick version takes three seconds: you sit upright, the app records the median of your pitch. The guided version has five phases of three seconds each — neutral, chin down, gaze up, turn left, turn right — and learns the sign of the pitch for your model of headphones instead of guessing it, then recalculates the thresholds from your real range of movement. The calibration report also says why it came out poor: too few samples, the head moved, the laptop moved, too little movement up or down.
Below 7° from the calibration counts as upright. Between 7° and 13° is slouching. Above 13° held for three seconds triggers the haptic alert. There is a fourth threshold, in the other direction: above 10° upwards counts as "head raised", so that the app does not mistake a glance at the ceiling for bad posture. The signal is exponentially smoothed with α = 0.15, so that ordinary head movement triggers nothing.
A timer of 5, 15, 25, 45 or 60 minutes, with start, pause and reset. The posture alert has a default cooldown of 300 seconds between notifications, an AirPods disconnection 90, and a degraded tracking stream 120 — no single event can fill the screen. At the end, the session reports the percentage of good posture, the number of alerts and the number of samples.
There is a second target, `AirPostureMac`: menu bar, dashboards, a 3D scene, diagnostics, health history and an acoustic laboratory. It compiles locally, but it is not a finished product. The same repository holds three separate iOS research apps — gait, interview response dynamics and an ear-EEG test bench — each with its own onboarding, none of them validated on hardware.
Data and operation
From exploration to deployment
AirPods Pro, AirPods 3 and newer, AirPods Max or Beats with an H1/H2 chip. AirPods 1 and 2 do not have the sensors needed and never will. Availability is confirmed at runtime, not assumed from the model.
We run the five-phase guided calibration and read the quality report. If the up-down range is too small or the head moved too much, the calibration is repeated — the personal thresholds are derived from it, so a poor calibration ruins everything that comes after.
7°, 13° and the three seconds of grace are a starting point, not a physical constant. The guided calibration moves them within bounded intervals — slouching between 5° and 9°, hunching between 10° and 18° — according to the person's real range.
An alert that annoys gets switched off, so it helps nobody. We check whether the five-minute cooldown suits the way you work, and whether the vibration is discreet enough around other people.
With AirPods. It uses `CMHeadphoneMotionManager`, the Apple interface that exposes the motion sensors in headphones, at roughly 25 Hz. It works with AirPods Pro, AirPods 3 and newer, AirPods Max and Beats with an H1 or H2 chip. AirPods 1 and 2 do not have the sensors needed. Other headphones do not provide this data.
No, and it does not try to. It measures one thing: how far the head has tilted from a position you calibrate yourself at the start of the session. Below 7° counts as 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.
Because of distribution, not because of the code. The app compiles, passes 160 tests, and installs and launches on the iPhone simulator, but `DEVELOPMENT_TEAM` is empty in the project specification, so a signed build for a real phone has never been produced. Until that is settled and the sensor stream is verified on physical AirPods, it stays a prototype — and that is what we call it.
No. `CMHeadphoneMotionManager` has no background mode of its own, and iOS suspends the app the moment it leaves the foreground. There is a common trick — playing a silent sound to keep the process alive — and we ruled it out deliberately: it contradicts rule 2.5.4 of Apple's review guidelines. The session runs with the app open. An "all-day coach" would take a different architecture and a conversation with App Review.
The stream keeps going — `sensorLocation` says which AirPod is sending the data, and the app has capture scenarios for both, for left only and for right only. But `sensorLocation` does not prove that the earbud in question is actually in the ear, and the transition both → left → right → both has not been verified on real hardware. It sits on the not-validated list, not on the works list.
It stays on the phone. The app's data policy marks it `localOnly`, and raw samples are deleted automatically after 14 days, the aggregates after a year. Nothing is written to HealthKit — there is no standard type for head posture, and the app will not force-convert it into steps or anything else to make it fit. Full deletion is available too.
No. We looked into both questions and wrote the answer into the project documentation. A brain scan is not possible with AirPods hardware and the public Apple interfaces, and a "lie detector" has no sufficient scientific basis — the requirement was reframed as observing response dynamics, which describes what can be seen rather than issuing a verdict on truth.
Illustrative example
A usage scenario, with no client data and no commercial results attributed.
You put in the AirPods, open the app, choose 25 minutes and sit upright for the three seconds the calibration takes. The app records the median of your pitch as the reference.
At around 25 Hz, every sample is exponentially smoothed (α = 0.15) and compared with the reference. Below 7° — green. Between 7° and 13° — amber, no alert. Above 13° held for three seconds — a vibration. The cooldown clock starts: the next posture alert cannot arrive sooner than five minutes later.
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.
Ce este necesar:AirPods cu senzori de mișcare (Pro, 3+, Max sau Beats H1/H2), iPhone cu iOS 17 sau mai nou, aplicația în prim-plan și permisiunea Mișcare și fitness acordată. Nu funcționează pe simulator — acolo interfața nu returnează date.
Ways of working together
Exploring a pilot for habits and personal feedback. Individual data does not become, by default, an instrument for evaluating employees.
We define a pilot around one real process: users, data, integrations, costs and acceptance criteria. Expansion follows once the result has been assessed.
We establish the requirements for accessibility, hosting, data protection and interoperability. Any connection to services run by Moldova's e-Governance Agency (AGE) or its state information-technology service (STISC) requires eligibility, access and approvals to be validated.
These are adaptation scenarios, not statements about existing contracts or partnerships. The proposed capabilities are confirmed within the project's scope of work.
Discută un pilotLongeVita este un prototip pentru organizarea obiceiurilor și a informațiilor personale de sănătate.
Prototip în dezvoltareMegaforms explorează colectarea de răspunsuri prin formulare conversaționale, inclusiv răspunsuri vocale și transcriere.
Dezvoltare & demonstrațiiTell us about your process. Together we decide what is worth building, what we can connect, and how we check the result.