I kept losing Bose QC Ultra 2 earbuds around the house. AirPods have Find My and a built-in ping feature. Bose did not give me the same simple recovery experience.
Our household has four pairs of similar Bose earbuds. With three young kids and an apartment with multiple rooms, "somewhere in the house" was not actionable enough.
Third-party Bluetooth finder apps showed proximity, but the useful features were either limited or behind a subscription. I wanted a lightweight tool built around my exact use case.
The goal was not "build a Bluetooth app." The goal was: help me find my earbuds faster when they disappear in the house. That shaped every product decision.
I first explored a Web Bluetooth version, but quickly learned it could only detect device presence: not real RSSI (Received Signal Strength Indicator) signal strength. That proved I needed a native iOS app.
I had never opened Xcode before. I used Claude as a coding partner while I directed the product decisions, debugged build issues, and validated each step visually on my phone.
The earbuds often appeared as "Unknown Device" because iOS randomizes Bluetooth identifiers. I added Bose manufacturer ID detection plus name matching so the app could identify Bose devices more reliably.
Bluetooth signal strength cannot give exact direction, and sleeping earbuds may stop broadcasting. So I added persistent device memory, room tagging, last-seen location, and proximity-based audio pinging.
Real RSSI scanning
Uses native CoreBluetooth signal strength instead of simulated proximity.
Plain-English proximity
Replaced confusing dBm readings with labels like Same Room, Nearby Room, and Far Away.
Room tagging
Prompts to tag the room when signal is strong, making indoor "last seen" more useful than GPS.
Persistent memory
Keeps saved devices visible even after earbuds go into deep sleep and stop broadcasting.
The app scans nearby Bluetooth devices, identifies Bose earbuds, tracks signal strength, remembers last-seen rooms, and gives my family a practical way to find devices without paying for a generic subscription app.
This project showed that AI-assisted building still requires strong product judgment. Claude could write the Swift code, but it could not define the real household problem, prioritize the right tradeoffs, or decide what "useful" meant in context. The biggest unlock was translating a vague frustration, "I keep losing my earbuds," into a focused product