Show HN: I computed livability for all of Germany by rent, commute, and QoL
This project started with me wanting to find a nice place to live with my partner. I'm a data scientist by day so I thought I'd approach it systematically. When I showed it to my friends, many said they wanted to try it too, so I made it into an app and put it online. (-> MIT licensed) The app is German, but it's translator friendly :) Instead of a single "best place" ranking, it scores ~0.5 km2 hexes across Germany based on user preferences on a dozen or so liveability layers like rent, commute time, recreational potential, noise level, and many more. User preferences are reflected on the map by colorizing gradients and hovering tiles, updated live. Some thoughts/challenges along the way: The mental framework: I approached the project with the assumption "the market regulates", i.e. "with enough axes, no place is inherently better than another". I quickly found out that most of the rent can be exlained as a resource negotiation over proximity to job sources and people - rather than the more elusive factors commonly shown in research to lead to a happier life such as low stress signals. The app now has a 'default bundle' of QOL factors today that are underpriced, but it's possible to disable this and differentiate places on just the axes of user preference. Finding good data: It's not enough to find data that's 80% correct, since it might majorly misrepresent a place and you'll immediately stop trusting the site. I've collected data from a large variety of public sources, including various german state departments, OpenStreetMap and WorldCover. Then, some python post processing on the data, and a final round of aggregation client side based on user preferences. I'm fairly confident in it now, but misrepresentations and misunderstandings remain the most likely points of criticism. Rejection of data: I explored and ultimately rejected many data such as crime statistics, user ratings, accident statistics, air quality, radon measurements (and more...). Most rejections were made because of a lack of scientific evidence for their relevance. The axes of "is this place well-received by inhabitants" and "would I feel safe here" are probably the most glaring omissions of the software. Making it fast enough: There are around 500k hexes, so I needed to come up with models that take under a day to compute on my laptop, and below a second to aggregate on the frontend. Some of the solutions include GPU rendering, an mx+b style approximation of reachability, aggregation of data through hot spots found by population peaks, aggressive caches and spatially-local windows for public transit, and so on. I'm amazed at how fast computers are that this is even possible today! You can read more about the layers on the methods page (https://wohnortatlas.de/method.html), or if you're really curious, peek the source code itself on GitHub (https://github.com/Ivorforce/wohnortatlas). Happy exploring! I'm dying to get some feedback.
Comments
2 preview comments · loading full threadLog in to h4cker, then connect Hacker News to publish comments.
That's so cool, I'm about to move to a new place myself to start my family and i just got to compare with my other options, confirming my choice. is it possible to get a ranked list? it's a bit finicky to hover over the places accurately.
This looks amazing and really useful stuff! Are you planning to extend this to other countries, because I would love to have something like this for London (UK).