explaingit

ben-z/findphone

Analysis updated 2026-08-13

1,254SwiftAudience · developerComplexity · 2/5Setup · easy

TLDR

A macOS command-line tool that locates a nearby Bluetooth device by signal strength, for when Apple's Find My isn't available.

Mindmap

mindmap
  root((findphone))
    What it does
      Locates Bluetooth devices
      Signal strength tracking
      Audio hunt mode
    Tech stack
      Swift
      macOS
      Bluetooth
    Use cases
      Find a misplaced phone
      Room search by ear
      Check paired device distance
    Audience
      Mac power users
      Developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Track down a lost or MDM-locked iPhone that's somewhere nearby but Find My can't help.

USE CASE 2

Search a room by ear using audio clicks that speed up as you get closer to the device.

USE CASE 3

Check the rough distance to a paired Bluetooth device from the macOS command line.

What is it built with?

SwiftBluetoothmacOS

How does it compare?

ben-z/findphoneduongductrong/snapzypluk-inc/markdown-preview
Stars1,2541,2121,346
LanguageSwiftSwiftSwift
Setup difficultyeasyeasyeasy
Complexity2/52/51/5
Audiencedevelopergeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Requires macOS 13+ and Bluetooth permission granted to the terminal app running it.

In plain English

findphone is a command line tool for macOS that helps someone locate a nearby Bluetooth device by tracking its signal strength. It was built for situations where Apple's Find My feature is not available, for example when a device is enrolled in mobile device management software that disables it, but the device is still close enough to be within Bluetooth range. The tool can be installed by downloading a prebuilt universal binary from the project's releases page and clearing the quarantine flag macOS adds to unsigned downloads, or built from source using the Swift toolchain, which requires no external dependencies. It needs macOS 13 or later. There are three main ways to use it. Running it with no arguments surveys every nearby Apple handheld device by signal strength. Running it with a device name switches to hunt mode, tracking one specific device. A list option shows paired devices and their addresses. In hunt mode, adding a sound option produces clicking sounds that speed up as the signal gets stronger, similar to a parking sensor, so someone can search a room by ear instead of watching the screen. This is not like a Geiger counter: the click rate comes from a smoothed reading on a fixed timer, not from counting individual detected signals. A redact option is available for anyone recording their screen while using the tool. It hides Bluetooth addresses and, in survey mode, replaces device names with just the device type, since a stable hardware address could reveal information about someone else's device. Names typed in hunt mode and names shown by the list option stay visible on purpose, since picking a target requires reading them, so the list option is not considered safe to record even with redaction turned on. Signal readings are shown in decibels relative to a milliwatt, a unit where numbers closer to zero mean a device is nearer, and the README gives rough distance ranges from arm's reach up to far away or behind an obstruction. The tool pulls readings from three different Bluetooth data sources of varying quality and only counts a new measurement when the value actually changes, since one source on macOS refreshes only every few seconds even when polled faster. It cannot make a device ring and cannot indicate a direction, only a rough distance, and it requires Bluetooth permission granted to whichever terminal app runs it.

Copy-paste prompts

Prompt 1
Help me build findphone from source using the Swift toolchain on my Mac.
Prompt 2
Explain how findphone's three Bluetooth signal sources differ in quality and refresh rate.
Prompt 3
Show me how to use the redact option in findphone safely while screen recording.

Frequently asked questions

What is findphone?

A macOS command-line tool that locates a nearby Bluetooth device by signal strength, for when Apple's Find My isn't available.

What language is findphone written in?

Mainly Swift. The stack also includes Swift, Bluetooth, macOS.

How hard is findphone to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is findphone for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.