I just gently tilted my head up, and the book I was reading on my Mac scrolled up. Last night, I was experimenting with a fusion Thai curry recipe and had nearly 20 tabs open on my laptop, which sat at a safe distance from the chopping board. To switch back and forth between the tabs, I didn’t have to touch the trackpad and get it messy. Looking to my left or right let me switch between tabs, and tilting my head toward either shoulder took me back and forth on the website pages I was reading.
I interacted with my Mac without ever touching it. All of it was controlled by the AirPods in my ears.
Now, you might be wondering if this is some new Apple feature. It isn’t. It’s a motion-sensing app called Headway that I developed using Claude. I started with the rough concept blabbered as an incoherent voice command, and in less than an hour, I had a fully functional piece of software living in my Mac’s menu bar. Take a look at the Headway app in action:
The app even has per-app controls, with plenty of customization to decide whether I want to control a page using nods, use tilt gestures for sustained scrolling, or have my nods mimic directional key presses. A year ago, the thought would have been laughable. But thanks to Claude, I have built nearly every tiny app and dream utility I can imagine.
But why?
My first brush with a personal app, built solely for my own day-to-day computer interactions, was PoseNudge, an open-source app that used the Mac’s camera to monitor my posture and notified me whenever I slouched. Naturally, an app that keeps an eye on you through a camera at all times, especially one that hasn’t passed Apple’s stringent privacy and security checks, raised some valid eyebrows. So I took the idea and rebuilt it around the AirPods’ motion sensors instead.
Earlier this week, I was revisiting that app to brainstorm some UI adjustments, and it gave me an idea. Why not use the motion sensors inside my AirPods Pro 3 to navigate my Mac and fully take the camera out of the question? After all, it’s intrusive and more taxing on the system resources as well. I turned to Claude Opus 5.5, and within ten minutes, I had the first build reliably running on my MacBook Pro.
What does the app do?

At a technical level, the app relies on readings from the accelerometer and gyroscope, the same motion sensors that power head-tracked Spatial Audio on supported AirPods models. The app runs locally and only reads the head-movement data that Apple’s Core Motion framework pulls from the AirPods. The app, which I call Headway, offers two methods of scrolling.
The first is tilt to scroll. I simply tilt my head up or down, and the page keeps scrolling in a continuous motion. I can adjust the scrolling speed, and most importantly, I can set the dead zone. If I want even a subtle tilt along the y-axis to register, I can shrink the dead zone. Conversely, if I want to be more intentional with my gestures, I can increase the dead zone so that there are no false triggers.
For more granular control, I built an alternative method called nod. It doesn’t require holding a tilted position. A quick nod up or down moves the page accordingly. I added an extra layer of flexibility here, too. I can assign each nod to either scroll the page smoothly or jump by the same amount as a directional key press would in any app or website. As far as gestures go, the app is tailor-made for Google Chrome, because my entire workflow is browser-based.
That’s not the case for the person sitting next to me, so I built a few extras. If I nod twice in quick succession, I jump straight to the top or bottom of a page. If I tilt my head toward my shoulder, I go forward or back on a page in Chrome, or any app that supports it. If I turn my head to look left or right, I can reliably switch between tabs. And if a page needs a refresh, I simply shake my head as if saying no, and Headway sends the refresh command to the page or app.
As a failsafe, I built a control that automatically pauses motion recognition when I glance down at my keyboard. As soon as I’m done typing, motion sensing kicks back into action. I can also swap what nods, tilts, and sideways glances do, and even invert the scrolling direction along the y-axis with dedicated toggles. Each change takes a single click through its own standalone toggle.
Of course, there’s always that lingering doubt over whether a gesture has registered. So I built two layers of feedback: sound and an on-screen flash alert. Every time I perform a head gesture, a subtle sound confirms it was registered. At the same time, a small badge pops up on screen, showing exactly which gesture was recorded and what action was performed.
For anyone who works at a desk, posture keeps shifting throughout the day, which raises the chance of false triggers. So there’s a one-click recenter button that sets your current head position as the neutral point. From there, every nod, yaw, and tilt is measured against that new reference posture. In the small menu bar dropdown, there’s a dedicated apps section where I can add any app that I want Headway to work with.
Right from that dropdown, I can turn motion sensing on or off for each app, and choose whether it uses nod or tilt gestures by default. Finally, there’s a stats page that logs my head gestures every day. It’s a neat way to see roughly how many pages I’ve read. For example, if I nodded downward 80 times in a day, that means I read at least that many pages. It’s not meant to be precise, just a fun little Easter egg I built into the app.
The app has proven itself unexpectedly useful to me.
I can control my Mac’s screen, or the screen of my connected iPad, in plenty of situations where I either can’t reach it or my hands are too messy to touch it. Doing the dishes, following a recipe while cooking, flipping through a comic book while I go about my chores at home: these are all situations where the app has come in really handy, without me having to do anything technical. The more fun part came when I let my friends test it. They were initially skeptical, and a few even said it sounded outlandish. But watching their surprised faces as their own head movements controlled the Mac in front of them was pretty cool to witness.

