Geospot

Teaching models to geoguess

Open Geospot Explorer Model App Infinity Base

Geospot was an app that used image embeddings to guess where you were in the world from a single image and no GPS. It was contrastively trained between GPS coordinate pairs and images from 11.7 million street view images.

On its first day I maxxed out all Testflight(10k) capacity since people wanted to use it for anything from finding chilhood memories to trying to un-gatekeep restaurants.

---

Inspired by Cursor's online RL blog I wondered if it would be possible to train a tiny head on top of this embedding model to try to learn "online".

Geospot Infinity was an online RL where the a frozen Geospot embedding model proposed ten candidates for a given uploaded photo; a 330k parameter policy would update everytime as people selected one of the 10 options we'd give them and keep on updating that head. Unfortunately it didn't --work very well.

---

In the pursuit of building the best geoguessing model in the world I made a simple geoguessing RL environment. I SFT'd it on a bunch of GPT 5.2 traces and used format rewards to get it in the right format and saying the right sort of things-- this was Qwen3-VL. I gave it a reward to use <tool_call> and <think> to think and to use qwen3-vl's "built-in" zoom_in tool it was taught for the purpose of computer-use.

You can see only after a couple hundred steps it already learned how to "think" like a geoguesser and not only zooms in but zooms in and thinks about the cropped image it can see in its rollout.

GeoVLM is live and a pretty nice visualization to see how the rollouts look!

---

Being bitter lesson pilled I wondered well what if I just get hundreds of millions of streetview images, distill all of rainbolts videos and post-trained a VLM to get SoTA on Im2GPS3k and YFCC4k

Over a course of a few months I spent weekends labeling data, segmenting rainbolt videos

and looking over if any panoramas were improperly flattened

in total we have 400 million+ images

I haven't had time to revist this project but will make an update on progress soon.