GIS that makes the overlooked undeniable.
Real maps, real data, real people who needed someone to notice. New ones posted here roughly every week.
Chicagoland Third Places
Every cafe, library, community center, and social facility across 319 Chicagoland municipalities, mapped per capita so towns of any size can be compared fairly.
"Third places" is Ray Oldenburg's term for the informal public spots people gather outside of home and work: cafes, libraries, community centers, social facilities. This maps every one of them I could find on OpenStreetMap across 319 towns and cities in the six-county Chicagoland region, and compares them per capita instead of by raw count, since a raw count just tells you which town is biggest.
The angle I started with didn't hold up
I originally set out to build something bigger: pairing this with an analysis of how thoroughly each area has actually been mapped on OpenStreetMap, on the assumption that wealthier areas would be more completely mapped and worse-off areas would show up as under-mapped. The real numbers said the opposite of what I expected. Population density predicted mapping completeness far better than income did, and when I checked the same question at a different level of geography (towns instead of census tracts), the pattern flipped entirely. That's a real, documented problem in spatial statistics called the Modifiable Areal Unit Problem. I decided that was a more honest finding to write up than to build around, so I cut it from the interactive page and put my effort into making the third-places map itself as useful as I could.
Built to actually be used, not just looked at
Past the map itself, there's a ZIP code search so you can jump straight to your own area, and a second map showing all 2,645 individual locations plotted where they really are, not just aggregated by town. Both maps distinguish three categories: cafes, social facilities, and community/civic spaces (libraries and community centers combined).
A town showing zero third places means OpenStreetMap has nothing tagged there, not necessarily that nothing exists. Some towns are genuinely underserved; some may just be under-mapped. I built it to show both possibilities honestly rather than assume one.
What actually took the most work
Not the mapping logic, the click reliability. Individual map pins would intermittently fail to open their popup, worse the more you clicked, in a way that didn't show up in any browser console error. It turned out Leaflet's popups automatically nudge the map to keep themselves visible by default, which silently shifts every other pin's on-screen position by a few pixels each time you open one. I only found it by scripting a headless browser to click through the page automatically and compare it against my own manual testing, since a script clicks the exact same pixel every time and a real hand doesn't.
Explore all 319 municipalities, or search your own ZIP code.
View the map (opens in a new tab) View the code (opens in a new tab)