Stealth Bluetooth Recon

Scan. List. Tap. History.

unagi is a local-first Android app for spotting nearby Bluetooth devices, keeping a durable on-device history, and making scan state obvious when Bluetooth is off or permissions are denied. No cloud. No remote logging by default.

"Only by achieving true UNAGI can you be prepared for ANY DANGER that may befall you."
- Unknown
MVP focus
Foreground scanning, tap-through details, and persisted history after relaunch on a physical Android device.
Build stance
CLI-only workflow with JDK 17, Android SDK command-line tools, pinned AGP/Gradle versions, and a staged APK for direct download.

Total Awareness, Not Total Noise

Observed device identifiers are treated as observations, not ground truth identity. Addresses can rotate. Names can drift. unagi keeps the MVP intentionally pragmatic: clear permission states, local history, and opt-in active scanning instead of silent always-on background work.

Preview of the unagi Android app with a black and electric-blue interface.

What the app does

  • Scans nearby Bluetooth Classic and BLE devices in the foreground.
  • Shows a sortable list of current observations with names, signal strength, and metadata.
  • Lets you tap a device to inspect its local sighting timeline after relaunch.

What the app avoids

  • No cloud backend and no remote logging by default.
  • No hidden background scanning; continuous scanning requires the user to enable it manually and keep a foreground notification running.
  • No crashes when Bluetooth is disabled or runtime permissions are denied.

Publishable artifact

The website links to the current versioned build, and scripts/stage-apk updates that APK filename on every release.

Build and Install

unagi is built without Android Studio. The expected path is JDK 17, Android SDK command-line tools, Gradle wrapper, and a staged debug APK for the site.

CLI setup

  • Install JDK 17.
  • Run scripts/setup-android-sdk.
  • Verify adb devices sees your phone.

Build steps

  • ./gradlew assembleDebug
  • scripts/stage-apk
  • Install the versioned staged file linked from the site download button.