OpenStreetMap logo OpenStreetMap

I was interested in finding walkable areas in a city I had never visited before. After using OpenClaw bot to summarize my JSON files, I thought I could do the same for OSM-based metrics.

I started by generating an OSM extract with a 5km radius from my hotel. I then extracted the geometry and tags for every way, park, building, and tourist attraction in this area. I normalized the raw data into a handful of generic classes like “Food & Café” and “Nature / Quiet.”

I then assigned each way and point of interest to an H3 hexagon. I calculated aggregate metrics for each hexagon, like the length of roads and the area taken up by parks and water. Then I simply fed the metrics for the hexagon to Ollama with Mistral Nemo, asking it to generate a short one-sentence vibe of a place based on the collected metrics and label it as positive, negative, or mixed.

To visualize the results, I created a KML file and imported it into Google My Maps. I had to iterate on the LLM prompts, as there are a lot of fields in the generated JSON and the LLM struggles to interpret what the numbers mean.

I also discovered a number of bugs in how I calculate features per H3 hexagon, but I eventually arrived at a reasonable overlay showing how walkable each area is. It’s not perfect — partly because OSM data is incomplete for the area I picked, and partly because I need to make my prompts more specific.

The recommendations are generic, but they add an extra dimension to the map. I think this is really exciting because you can create any perspective you like on OSM data with your own overlays for driving, finding a house, or finding a place to eat.

Location: Hoằng Tiến Commune, Thanh Hóa Province, Vietnam

Discussion

Comment from trillium_enjoyer on 24 April 2026 at 19:00

Interesting! Is the output of your experiment viewable anywhere?

Comment from Evgeny Arbatov on 28 April 2026 at 03:08

Yes! You can see the entire code on Github https://github.com/evgeniyarbatov/vibe-mapping

Leave a comment

Log in to leave a comment