Show HN: A website that heatmaps your city based on your housing preferences (theretowhere.com)

321 points by WiggleGuy ↗ HN
For the past few months, I've been working on a website that answers two different questions:

- Where in my city have the best travel times to all the things and people I care about?

- Given a listing, how far is it from all the things and people I care about?

Personally this was fueled by my own frustrations when I was apartment hunting in NYC. I was frustrating to have to juggle so many Google Maps tabs when I was evaluating a listing, and it was also annoying to not have full confidence that I was even searching in the right places.

I wanted to be close to work, a Trader Joe's, and a major park. Given that public transportation networks can sometimes make close things hard to get to and far things easy to get to, it's not always obvious whether a neighborhood actually even fits my criteria or not!

The overarching goal of theretowhere.com is to allow you to make more informed moving decisions while also making things more convenient than they are today.

https://ibb.co/pBsX2HjN

It can generate detailed travel time breakdowns for individual listings and addresses, making it easier to determine whether a listing is worth applying for without juggling Google Maps tabs. This is great for questions like “How far is this apartment from my friends, work and dancing gyms?”

https://ibb.co/mVBjwPrJ

It also has the powerful ability to heatmap a city based on which parts of it are close or not to the people and places you care about. This is great for questions like “Where in the city would I be reasonably close to work, friends and a woodworking studio?”

https://ibb.co/vCynPSRK

You can add these heatmaps to sites like Zillow and Streeteasy to make things super convenient (this was very fun to make).

The main thing that's on my mind is whether this is useful or not. Like, is this something you would actually use? I also have other ideas I'd like to eventually intergrate into this (crime heatmaps, noise heatmaps, etc)

103 comments

[ 4.0 ms ] story [ 169 ms ] thread
This is really cool (and timely for me). Lovely work with the UX. No accounts, no nonsense. Kudos.
I've always liked the idea of combining distance criteria, especially when something is good for public transit to work, but not good in terms of walkability to anything I care about. (Some people walk for fun, I always seem to need an errand.)

I recall that Walkscore used to have something like this, and then it went away, and then it showed up on some other housing site... I was always surprised the type of feature didn't get more popular.

In terms of new features, there is a tricky problem of how to define things like "near a grocery store, the large kind, not that one tiny mini-mart". This brings in several overlapping challenges: How to get business locations and categorize them, how to allow the user to tweak that categorization or result, and how to efficiently turn a union of those the set of valid destinations into a combined region.

The "grocery store" problem is something I've been thinking about for a while, since it has two problems:

- There are tons of grocery stores (efficiency of processing all of those)

- Not all grocery stores are the same (supermarkets vs pricey luxury stores vs bodegas)

I've been thinking of mass processing one-time then allowing the user to super-impose pre-made heatmaps onto thier existing heatmap.

That would be exactly what I need!

Ideally something like 5min bike ride to the grocery store, 15min walk from a train station, and 30min drive to my in-law’s house.

It would be really interesting to do something like “10 minute bike ride to 3 or more grocery stores”. That would help reduce instances of niche specific stores, but also provides a much more useful variety.

I’d love to be able to find places that have 2+ or 3+ grocery stores within somewhat reasonable distance, and same thing goes for restaurants. Really any restaurant.

I'm imagining:

1. User defines a "multi-location" spec, like "MyFastFood" as "Having [2] or more of [Fast Food] excluding [Taco Bell,]"

2. User defines a requirement for their heat map which references the multi-location, ex: "Within [30 minutes] to [walk] to [MyFastFood]"

3. Within the context of a particular [user's requirement] and broad [city/town/region], a 2D area/gradient can be generated, and cached for a rather considerable period given how slowly businesses open/close.

Granted, that's the ambitious version. A simpler one would be to not support "at least X", and to combine the multi-location and the distance-rules all together into a single condition.

I'm not in the market for a new home right now but I would absolutely use this in a future search. As it is now, it helped me confirm that my house is in a great location for everything I do regularly.

It did seem to think that the closest "Bar" to me was a 19 minute drive, when in reality there are several within a 2 minute walk, however.

This is fun - waiting so long for the map to generate is a bit of a drag, but understandable.
I have a v2 of that algorithm coming this weekend! I expect it to make it MUCH faster :)
The available housing preferences may need to be reflected in the title.

My desired heatmap is for 5+ beds/3+ baths at [price range]. It's okay this isn't that - but the Housing Preferences descriptor indicates it might be.

I had the same impression. Like Price per Acre.

I didnt expect there to only be 1 type of constraint (travel time to a given location).

I think emphasizing its purely based on distance would be clearer.

Me too. I poked at the UX for a good few minutes trying to find out how to change the TYPE of constraint lol
I love the idea, but the data seems a bit off. I tested it in my little city, where I'm < 14 minutes by car from the grocery. It's actually a little quicker, but I'm going by Google Maps estimates.

Setting a criteria of 15 mins by car, I'm far out in the gray. I'd have to drive a couple miles to even get in the red. It's only 6 miles away!

> It's only 6 miles away!

Six miles is like a 30 minute drive when I am

Been there, done that, hopefully not again :).

I was hoping 'little city' would have indicated, but I should have specified, there is never enough traffic here to move the estimates much. Speed limit is 35ish the whole way.

Yeah, different geo analysis providers have different weightings for travel time (turns, street density, etc). It can sometimes lead to inconsistencies like this, especially if they don't use GPS and proprietary data to correct things...
TomTom maps (and probably others, I just worked for TomTom so know how theirs work) combine both real time traffic information, and road speed estimates based on data from users uploading their driving traces (with start and end locations removed to anonymize them), so it has a table of the average driving speed for all roads, on a per-hour and weekday/weekend basis, plus any real time traffic information it has, which it uses for route calculation and time estimation.
Would be nice to use conditions. Like, if there are multiple libraries in a city and I would like to evaluate being 15 minutes from any of them, have a condition able to be set -

15 minutes from: Library A OR Library B OR Library C

That actually is possible

Heatmaps are split into criteria, and each of those criteria can contain multiple places.

The criteria are OR clauses between any of the places, and the heatmap is an AND clause over all the criteria

So to do what you'd like, you'd place the libraries in the same criteria

This is really neat. It would be cool if you exposed some parameters like walking speed. This shows that a trip I make daily in ~12 minutes is just barely within the 30 minute walking shell from my house. Also if you want to waste an insane amount of time and effort, you could integrate this with a digital elevation model to yield better biking times.
I put my wife's work location and my own in it and it correctly showed me that where we actually live would be a good location. When we moved to our house she worked at a different place, but I can see how this would be useful.

The "only show best matches" criterion is a little bit too aggressive in this case, though - it basically says "have you tried living in the middle of the highway"?

Also matched my place perfectly. With my work, leisure and commute requirements! Funny, I feel my requirements overfit on my habits - the area where I live was the only highlighted area with no alternative sweet spots.
I genuinely wish there was a map where you could see how many kids and their age groups are in a given neighborhood.

Our current house is great, but there aren't many kids in the neighborhood.

I understand this is sensitive information, so it probably doesn't exist.

But choosing a neighborhood with other families that are in a similar life experience is kind of hard..

Especially considering it seems that kids play outside much less, so that's less of a signal.

That's exactly what I'm also looking for. I've been looking for a house in both Canada and the U.S. and for Canada there are some house search websites that show demographic census data for each neighborhood. For the U.S. I haven't seen anything comparable. I don't even know if this type of demographic data at the necessary granularity would be available publicly?
In my experience, age of homes in the neighborhood approximately equals age of kids in the neighborhood, +- a few years. And that makes sense if you think of who is typically buying houses en masse as a group - new families. Now, I don't live somewhere like SF of NY where people cycle in and out, more cities of various sizes in the midwest and south.

My first house was built in the 40's. A few original owners existed, along with second owners. I noticed I guess people don't tend to move often. There were hardly any kids in the neighborhood.

Next house was built in 2009(this would have been 2018ish), and the neighborhood was packed full of kids.

Next house was built in the 80s. A lot of original owners, again, few kids.

Next house was built in 2012, this would have been 2021 - tons of kids

Next house built in mid 90s. This was 2022. Almost everyone in the neighborhood was the original owner, very few kids.

So, if my theory holds, if you want to find a neighborhood with a lot of kids, buy a midrange house in a ~5 year old neighborhood.

(and yes, I realize I've moved a lot).

If you are based in the UK, there is https://xploria.co.uk. Click/tap on any location on the map and you get a lot of information about the place, inclusive of generations, what percentage of families, singles, etc, schools within travel timw, and so on. Disclosure: I built this web app.
Is this based on census data?
Yes, although not yet updated to the one of 2021 (2022 in Scotland).

The main page has references to all data sources.

This is very cool - I haven't seen anything like it before. I've spent about half an hour noseying at places I've lived or considered living, fascinating. The view of changing house prices is something that I haven't seen presented in this way either.

Thanks for building it and thanks for sharing.

Thanks for the kind words! The prototype was launched in 2013, you'd think the world would have caught up since :D. The platform underneath allows far more advanced functionality, so stick around, there will be many more usable (and useful) features in the near term.
> I genuinely wish there was a map where you could see how many kids and their age groups are in a given neighborhood.

Maybe your local city/state/county/country government has a "Open Data" portal where they publish stuff like that? Barcelona for example has a pretty extensive Open Data collection (https://opendata-ajuntament.barcelona.cat/en) where you'd be able to find data like that (probably not ready made graphs/maps though), and probably also averaged data about how many people live in the households of a neighborhood, so you could extrapolate for families, etc.

For younger age groups, you could search for how many elementary schools are in the region. Our town has a lot of these schools, because people don't want to be sending their young children far away. Generally it's not until high school age where the students might have to travel farther from home to school.
(comment deleted)
There is another website that I've been using that provides similar functionality in terms of the heatmap: http://close.city

What I like about this one is that it can show travel times from a specific address. What would be even more useful is if it could show mixed-mode transportation times.

Really puts into perspective how wildly varied cities in the US are in terms of density and development patterns. Compare New York [1] and Seattle [2]. Barely a single patch of gray in New York until you get to Long Island, while Seattle has big patches with no transit accessibility at all. And many of them are extremely wealthy areas. In New York, wealthier areas tend to have better transit. Very, very interesting.

[1]: https://close.city/?x=-73.92368&y=40.74092&z=11.62779&r=0&l=...

[2]: https://close.city/?x=-122.32293&y=47.63375&z=12.62654&r=0&l...

Goes to show the benefit of a well connected subway network. Seattle is mostly just buses except for two independent light rail lines
(comment deleted)
What if I’m a Kaiju, and I want to disrupt the most electrical cables juice up? What path of destruction is best for me?
Works for Sydney, well done!

I previously used Mapnificent to choose a house location, and found that many geographically closer properties were often much further in terms of time. Very useful. I like that it starts off with the map view, maybe do that in terms of “shortest time to a-ha” and to get the user into putting in the work to refine the output?

https://www.mapnificent.net/sydney/

I also used this to look at property/area info. Maybe lift some ideas off that. It used to have school ratings, crime etc.

https://heatmaps.com.au/

Something that’s a combo of both would be amazing. Good luck!

This is cool but I don't think it fits my use case..

Seems like I have to pick criteria that have exact venues.. I want to pick abstract things like "walking distance from grocery", "biking distance from climbing gym" "1 hour drive to national park"

I found it was surprisingly easy to "populate with every instance of a given type". I've made a few maps based on grocery and transit where I did it by adding all >100 stores & stops.
Same, and I add one even more amorphous criteria, 'not directly next to noise pollution like an airport or highways.'
(comment deleted)
Hello!

To echo what loxias said, it is possible to make queries like this on the heatmap. You can use the "Search Nearby places" button - this takes in more general queries (like cafe, gym, walmart, etc) and gives you back a bunch of venues that fit that search.

This doesn't seem to work very well. Searching for "grocery store" netted me a set of 22 locations spread across the entire country.
I don't really understand what the search nearby places button is doing. I think the solution would be to allow some sort of OR operator (which seems straightforward), or conditions the act on generic queries (which seems more difficult). For example say you live in NYC and want some nice green space near you. Choosing a single park is too narrow and choosing all parks is too broad. So you should be able to say e.g. "Central Park OR Prospect Park OR Brooklyn Bridge Park OR Fort Greene Park", or you should be able to say "Park, > 10 acres, 4+ star google rating, has tennis court, has bike path"... the point is that not all parks, grocery stores, coffee shops, etc are equal; I need to be able to qualify them somehow.
I missed this comment!

> Central Park OR Prospect Park OR Brooklyn Bridge Park OR Fort Greene Park

You can do this, actually. I kinda explain that here: https://news.ycombinator.com/item?id=42976053

The heatmap supports both AND and OR clauses

The second one (acrage, stars, etc) is harder, you're right.

The "Search nearby places" is really meant to be a convenience feature to fill your OR clauses. It works better for certain types of things. Like, sure, all parks is too broad because not all parks are equal. But use it for something like all Targets (the shopping chain) or something, and its more useful, since those are, more or less, all equal.

I'm still thinking of other convenience features for places that have more nuance, like parks.

"Total count of non-national-chain restaurants within a 1km walk" pretty much determines my criterion. Everything else is a once a week thing or less. The homes themselves are just a bunch of rooms, and I'm flexible. Quality of life is defined by my stomach.
Very cool! This is nice when considering moving to a new area to narrow down neighborhoods that could work. One thing that I think could be useful is to also add criteria for things I want to be far from. Some people don't like living near airports for example.
I've built a similar app, but for the whole US, where you can input your personal preferences and find the areas in the US that best match based on the data:

https://exoroad.com

This would be great if I had enough money for my preferences to matter
Everyone's preferences matter.

I know a homeless guy in Texas whom I talk to on IRC daily. Even he has preferences. He lives under a bridge near a library that gives him Internet access.

You could take the aggregate of "where people want to live" and then compare that with an estimate of how much floor space the city allows to actually exist. I suspect the ratio would correlate extremely well with prices & rents per sqft of floorspace. In a perfect world this would inform urban planning, though in this world I am less confident.
I tried something similar myself but failed on wanting to load the whole world of openstreetmap onto my server and into postgres. It worked but I never managed to get sub second postgres query times on a billion rows. Hence, making it unsuable for any user.

So my question to you. What's your server and data setup? Do you even have your own data? I'm very curious on what is actually needed to make it work anywhere.

This is really, really cool and thanks for making it!!

We must think at least somewhat similarly, last few times I was apartment hunting I did the same, though I never polished it up like this (more plugging numbers into a spreadsheet).

Honestly the biggest thing this does for me is validate that the data APIs must exist for what I'd really want, which is write something to make much larger and more complex "programmatic" maps -- the list of places being generated by a more complex sequence of steps for instance, and the combining function for different criteria including nonlinearities.

Curious how you're computing the walking distances, I'm guessing this is combining some off the shelf API for it with another for the points of interest? Though it would be badass if you did it from scratch starting from just OSM. ;)

(comment deleted)
I believe these are called contour maps not heatmaps (I might be wrong)
I wanted to do this with a city I don't currently live in, but every time I did searches on specific locations it went for the nearest (bad) match to my current geographic location. It'd be nice to generalize it.

I do like that you used OSM rather than Google maps.

This is possible!

I should probably make the UX better. When you're on the heatmap page (or the distance matrix page), look at the top right of the screen. It shows you where it's basing its searches on, and you can override that bias with any location you like.

You only need to update it once per session - all pages and components will be updated

On the UX it would be helpful to add an option to delete all places.

It added 50 grocery stores with a "nearby places" search and inhad to refresh the page to start a new search instead of spending time clicking those X's.

His place finder is Google Maps. I know the guy that wrote it.
This is so useful! I have wanted a tool like this for years. Thank you for putting in the work and sharing.