Under active development. Features may change and instability is possible.
Find your keys with a cheap Bluetooth tag: make it beep, follow the signal, see where it was last seen. Made for Linux phones (Phosh), tested on the FuriLabs FLX1s with FuriOS. In English, German, French and Spanish – it follows the system language, or pick one in the menu.
| Tags | Search | Last place seen | Pair a tag |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Invented tags (tools/screenshots.sh).
- Pair a tag, give it a name and a symbol
- Beep – the tag rings until you stop it
- Search – signal strength with warmer / colder while you walk around
- Last place seen (optional, per tag) – shown on a map with the area it is in
flatpak install --user https://misc-de.github.io/KeyFinder/io.github.miscde.KeyFinder.flatpakrefThat's all: x86_64 and aarch64, signed, the runtime comes from Flathub.
Update with flatpak update, remove with flatpak uninstall io.github.miscde.KeyFinder.
Without Flatpak
Needs Python 3 with GTK 4, libadwaita, libshumate (gir1.2-shumate-1.0) and BlueZ.
git clone https://github.com/misc-de/KeyFinder.git
cd KeyFinder && ./install.sh # into ~/.local, no rootRemove with ./uninstall.sh.
Cheap iTag-style tags (a few euros, "iTag" / app "iSearching") – they speak the standard Immediate Alert service. Not AirTag, Tile or Galaxy SmartTag: those are encrypted and tied to their maker's app.
- Last place seen runs a small background service, only while at least one tag has the option on. Every minute it looks for tags for 10 s and asks for the position at most every 5 minutes – and right away when a tag goes missing.
- The phone asks once whether Key Finder may use the location.
- Indoors there is often no GPS position; then the last place outside is shown.
- The tag can only be heard while it is in Bluetooth range (about 10–30 m).
Key Finder stands on the shoulders of these projects:
- GTK and libadwaita – the user interface
- PyGObject – GTK and GLib from Python
- BlueZ – the Linux Bluetooth stack
- GeoClue – the phone's position
- libshumate – the map
- OpenStreetMap – map data and tiles, © OpenStreetMap contributors
- Noto Color Emoji – the symbols on the tiles
- protobuf-c – needed by libshumate
- Flatpak, Flathub and the GNOME runtime – packaging
- Phosh and FuriLabs – the phone it was made on



