Astra turns a MacBook into a sonar controller after a few prompts
Emanuel Perez's app uses a 20 kHz tone, the laptop microphone and Doppler shifts to translate hand movements into scrolling.
By Ryan Merket · Published
Primary source: X
Why it matters
Perez's demo shows frontier coding models shrinking the distance between published research and working software, even when the underlying invention is 14 years old.

Emanuel Perez (@emanperez28) used OpenAI's GPT-6 Astra to build a Mac app that turns a laptop's existing speakers and microphone into a contactless scrolling controller, according to a demonstration Perez posted on X on September 9th.
https://x.com/emanperez28/status/2097476030680244361
The app emits a 20 kHz tone through the MacBook's speakers and listens for the signal after it reflects off the user's hand. Movement changes the frequency of that reflected sound through the Doppler effect. The software interprets those changes as gestures, allowing Perez to scroll up or down by moving his hand and reverse direction with a double tap in the air.
Perez said Astra produced the app after "a few prompts." The demonstration does not establish how much code Perez changed, how consistently the controls work across machines or whether the app can distinguish intentional gestures from other nearby movement. It does show a newly released coding model turning a known sensing technique into a working desktop interface without specialized hardware.
A software sensor built from existing hardware
Perez said the prototype uses only the MacBook's native speakers, microphone and a hand. No camera, depth sensor or external ultrasonic transmitter is involved. He said it should work on any MacBook, although the demonstration covers one setup and does not test differences in speaker response, microphone placement or audio processing across Apple's hardware lineup.
The laptop emits the tone while its microphone listens for the returning signal. A hand moving toward or away from the machine compresses or stretches the reflected sound waves, producing a frequency shift the software can classify. Perez mapped those shifts to scrolling and a back-and-forth motion. He said the current build recognizes two scrolling gestures and the direction-changing double tap.
The 20 kHz frequency sits at the upper edge of the commonly cited human hearing range. Perez described the output as undetectable audio and said the frequency can be changed. Whether a user can hear it will depend on the person, playback hardware and volume. Laptop speakers also vary in how effectively they reproduce frequencies around 20 kHz, making broader compatibility one of the practical questions facing a public release.
Perez said environmental noise had not interfered with his testing. He also argued that audio sensing should consume less memory and battery than continuous camera-based gesture tracking, though he published no measurements comparing the two approaches. A camera could provide more reliable gesture classification, he acknowledged, while introducing dependence on lighting and a constant video feed.
Perez said he plans to release the sonar app separately. He has not specified a distribution date, license or system requirements.
The technique predates the model
The sensing method itself has a long research history. In 2012, Microsoft Research and University of Washington researchers published SoundWave, a system that used commodity speakers and microphones to emit an inaudible tone and identify in-air gestures from Doppler shifts.
Later work extended the concept to larger gesture vocabularies and different devices. AudioGest, published in IEEE Transactions on Mobile Computing, used one built-in speaker and microphone to detect six hand gestures. Those projects also documented the hard parts that a short social video cannot answer: filtering reflected signals, separating gestures from environmental motion and maintaining performance across users and hardware.
Astra therefore did not invent sonar-based gesture control. Perez's result compresses an established human-computer interaction technique into an app assembled through conversation with a coding model. That implementation speed is the useful evidence in the demo.
OpenAI released GPT-6 Astra on September 3rd and has positioned software engineering, computer use and multistep professional work as core capabilities. OpenAI says Astra is rolling out across paid ChatGPT plans and its API, with enterprise workspace access disabled by default at launch.
Perez's prototype arrives less than a week into that rollout. It is a narrow application, and its underlying signal-processing idea is more than a decade old. It also illustrates the market OpenAI is pursuing: developers can take techniques that once lived mainly in research papers, describe an interface, and push toward a functioning implementation without beginning from an empty repository.
The remaining work is the part demos usually omit. A usable release would need reliable gesture thresholds, controls for the emitted frequency and volume, clear microphone permissions, protection against accidental scrolling and validation across different rooms and MacBook generations. Astra shortened the path to the first working version. Perez still has to turn that version into software other people can trust on their own machines.