NeuroGuessr
Point it at a photograph and it tells you where on Earth it was taken. Everything runs on the phone β the neural encoder, the 300,000-place index, and the map. After the one-time asset download below, the app never touches the network.
Install (Android)
You need an arm64 phone with Android 10 or newer and about 4.5 GB free.
- On the phone, download and open neuroguessr-0.2.1.apk (40 MB). Android will ask you to allow installs from your browser β allow it, install, and you can revoke the permission afterwards.
- Open NeuroGuessr and tap Download 2.20 GB on Wi-Fi. It runs in the background β lock the phone or switch apps, it keeps going and resumes if interrupted.
- That's it. Pick a photo or take one, and it lands on the map.
If an older build is already installed and the update fails with "App not installed", uninstall the old one first β early builds carried a different signature.
What's in here
neuroguessr-0.2.apkβ the app itself (Kotlin + Compose + ONNX Runtime).assets/model/encoder_fp16.onnxβ a DINOv3 ViT-L/16 backbone, contrastively fine-tuned for place recognition, exported at fp16 with the residual stream kept fp32.assets/index/β 299,518 places as int8-quantised descriptors in five learned spaces, cell-sorted for a gated search.assets/download_manifest.jsonβ sizes and SHA-256 of every asset; the copy baked into the APK is what the in-app downloader verifies against.
Median error on the held-out validation set: 44.4 km, with 43% of guesses within 25 km.
Licences
The encoder is a derivative of facebook/dinov3-vitl16-pretrain-lvd1689m and is distributed
under the DINOv3 licence, a copy of which ships in this repo. Third-party
notices are in NOTICE.md. Source and asset pipeline:
the app is built from the NeuroGuessr mobile repo; assets regenerate from the research repo.