I’m supposed to write a full report about my attendance at State of the Map 2026. But there are so many materials to discuss, especially the technical ones, and I’m already still stuck on day one already.
If you check my latest OSM Diary entry in my State of the Map 2026 series, you’ll see that my writing stopped rather abruptly at Jake Low’s talk, titled “Sourdough and Layercake.”

It was a very interesting talk. In fact, while watching it live through the Venueless platform, I had already started thinking about some projects that I wanted to build on top of Sourdough.
So instead of continuing to write that report, I started tinkering with Sourdough immediately.
The cool thing about vector maps is that they are so easy to customize on the client side. We can selectively show some data layers and hide the rest. We can emphasize one aspect while pretending that everything else is “not important” and simply not showing it at all. And I think that’s quite a powerful concept.
I’ve seen plenty of serious battles over OpenStreetMap edit wars whose underlying reason seems to be rooted in the “battle for dominance” in the OSM Carto raster map. The never-ending flipping of highway classifications. Arguments over which value a place=* tag should have (because some place values are prioritized for rendering over others). And so on and so forth.
Meanwhile, there’s this one limitation of raster maps that has been bothering me since I first started contributing to OSM.
Some POIs simply disappear. They aren’t rendered because their icons clash with other POIs. When two or more POI coordinates are too close to each other, the renderer has to choose which one gets priority and which one gets hidden.
And because the zoom level of the standard OSM Carto raster map is limited to 19, some POIs still can’t be shown even when we zoom all the way in. Well, theoretically, if the zoom level were increased beyond 19, those POIs would eventually become visible. But since the map stops at zoom level 19, they simply remain missing from the rendered map.
That’s quite disappointing, especially when you’ve already spent a lot of effort doing serious micromapping. It feels like some of your hard work has simply vanished into thin air.
So, for a long time, I’ve wanted to create an alternative “map view” that tries to solve all of these problems.
First, there is no highway classification. All highways are equal. From a motorway to a living street, every road is rendered with the same line width.
Second, it tries to show as many POIs as possible. Areas with a high density of mapped POIs are emphasized, and when you zoom in far enough, all the POIs are guaranteed to have their text labels shown.
Third, it is optimized for mobile use. Users can visit the web app, press the “zoom to my GPS coordinate” button in the bottom-left corner, and immediately zoom the map to their current location. The idea is that users can simply explore what OpenStreetMap has to offer in their own surroundings.
My hypothesis is that this could potentially be a better way to explore the world around you than g**e maps, which often prioritize advertisements rather than neutrally showing everything that has been mapped around you.
Fourth, don’t show anything else. The map focuses almost entirely on two things: uniformized road lines and POIs. The rest of the map data is omitted as much as possible.
The one exception is place=* objects. They are still shown as a guide, giving users some sense of where they are and helping them navigate the map.
And this is the result.



Here’s the source code.
You can access the live demo here.
I haven’t named the app yet. For now, I’m simply using the temporary name “sourtest,” which basically means “Sourdough test.”
Discussion