gitwtfhub

wtf is findphone?

ben-z/findphone — explained in plain English

Analysis updated 2026-08-13

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

TL;DR

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

Why would anyone build with this?

REASON 1

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

REASON 2

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

REASON 3

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

What's in the stack?

SwiftBluetoothmacOS

How it stacks up

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 spin it up?

Difficulty · easy Time to first run · 5min

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

Wtf does this do

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.

Yoink these 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

wtf 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.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.