Drawn from OpenStreetMap geometry and this device's position. No tile service, no key. Tap the map anywhere to set a destination.
Point the camera at anything. It is named on the device, live, and linked to what the world knows about it.
Frames are analysed in memory and discarded. Nothing is recorded.
Your Cloudflare Worker. It runs identification on Workers AI with no keys at all. Leave blank to run on-device only.
Cloudflare gates Meta's sharper vision model behind their licence, and until it is accepted once, identification never runs and every name stays generic. Accepting it is yours to do, not the app's - this sends the word "agree" to your own Worker, once.
Leave this empty for the Cloudflare Worker. A machine of your own reachable from the internet - a Raspberry Pi behind a tunnel, say - needs a lock on the door, and this is the key it expects. See pi/README.md in the repository.
Runs entirely on this device with no key and no limit. If it failed to start, retry here.
Optional, and yours. From ai.google.dev. It stays in this browser and is sent to Google and nowhere else - not to this app's own endpoint. With a key the voice assistant answers in about a second; without one it goes through the Worker, which is slower but needs no key at all.
It asks 3.5 Flash Lite first and falls back to 3.1 Flash Lite when that one is at its limit, then remembers for fifteen minutes rather than walking into the same wall on every question.
A memory aid for names you cannot place. Point at someone, tap their face and give it a name; the next time they are in front of you it says who they are.
All of it stays on this device. What is stored is 128 numbers describing a face, which cannot be turned back into a picture of anyone, and none of it is ever sent anywhere - not even to this app's own endpoint. It is off until you switch it on, and switching it on downloads about eight megabytes of models.
Detection and first-pass labelling run in this browser. Only a cropped region is ever sent for identification, and only when needed. No face data is stored or indexed.
Uncapped, because nothing meters them: the two models on this device, your position and compass, and Wikipedia and Wikidata. Free with a fair-use policy: Open-Meteo for the weather, and OpenStreetMap through Overpass for the streets, cached here for a month so a road you have walked draws with no network at all. On your own Cloudflare account with a daily allowance: the detail tier that gives a make, a model and a price. When that allowance runs out the rest keeps working and names stay generic.
Species are named on this device too, by Google's AIY iNaturalist classifiers - 2,102 plants, 1,021 insects and 965 birds, under Apache 2.0, answering in about 40 milliseconds with no key and no limit. The model for a kind is fetched the first time you point at one. Everything Wikidata knows is added on top: the rank, the family and the conservation status.
Uncapped, because nothing meters them: the two models on this device, your position and compass, and Wikipedia and Wikidata. Free with a fair-use policy: Open-Meteo for the weather, and OpenStreetMap through Overpass for the streets, which are cached here for a month so a road you have walked draws with no network. On your own Cloudflare account, with a daily allowance: the detail tier that gives a make, a model and a price. When that allowance runs out the rest keeps working and names stay generic.
Naming a tree species from a photograph has no keyless, unlimited answer today - there is no species classifier this app can carry on the device, and the on-device model knows almost no species, which is why it is not allowed to guess at one. Species go to the detail tier, and everything Wikidata knows is added on top: the binomial, the rank, the family and the conservation status.