Finding a warm space this winter
Here in the UK the cost-of-living crisis, together with the added energy-price crisis, is going to make things harder for many people this winter. As well as those who are currently homeless, many people in homes will be cold as they keep their heating turned down or off in attempts to combat rapidly rising energy prices. And, for those who are struggling to buy food, the cold will bite even deeper.
Many organisations around the country have kindly offered their existing warm spaces up for people to be able to spend some time in. These "warm banks" - taking inspiration from food banks - are definitely welcome given the lack of much will from central government for serious, systemic, solutions to tackle the sources of price rises. Given all the individual offers appearing, various groups/organisations from charities to librarians to volunteers to local authorities have started collating lists of warm spaces.
We've been here before
In 2020 Marcus Rashford kick-started an effort to collate offers of free school meals during the autumn half-term. That resulted in several similar, but siloed, attempts to curate lists of offers. It duplicated effort. Most didn't share their data openly with the other projects, at least for the first crucial days of the half-term. Ultimately, if you are trying to find offers, you just want to see all offers as quickly as possible rather than find and compare a bunch of competing web maps. Each collation project probably hopes to be that one-stop-shop but, in practice, there will always be multiple places. That's because people don't know about existing/simultaneous directories, because lots of groups want to lead, or because a group is the "official" source in a specific locality.
A directory of directories
Given that multiple directories exist, the first thing to do was to start creating a data structure to store links and information about the existing directories. For each directory we can note its title, where it is on the web, if it has a map, and if there is a more data-friendly version of the data. The table currently includes 46 different directories - two national ones and 44 local authority/interest-group directories. There will be many more directories out there so if you spot any we are missing you can either add them directly on Github or let us know by email.
I was frustrated by the number of directories but also the bandwidth requirements for a lot of them. For instance, Warm Welcome UK's page is around 7.5 MB, WarmSpaces.org is nearly 12 MB, and Leeds City Council's map comes in at almost 23 MB. And that is before any interaction with a map. For those struggling with costs, mobile data may be limited too. Some people will be on 1GB of data per month. Some, like me, may pay 1p per MB for mobile data. There is a cost to inefficient webpages. And I don't think it should be pushed onto those who are struggling.
A meta search of warm spaces
To address the frustrations, I decided to compile warm places from as many directories as possible into one streamlined search tool. The aim is not to become another data silo; organisations should register their warm space with whichever existing directory feels most appropriate for them, definitely not with us. Each existing directory does the very important work of collecting and maintaining the information. Our search tool will automatically update from the directories (at least those that it can parse) at least once a day. That way, additions and corrections should filter through. I also don't want to steal credit or make it hard to fix mistakes so I cite the original source of each entry with links back to them.
Many of the existing directories use maps. I wanted to replicate being able to see what is close by but without a bandwidth-intensive map. Inspired by our Scores on the Doors tool, I use someone's actual location (if they allow geolocation) to order a list of warm spaces by distance. As usual I've taken some care to protect people's privacy. So rather than send exact location to the server, the data is grouped into roughly 5x2.5 km grid cells (zoom level 10) so the webpage only needs to know which grid cells to request. That means we don't get to know anyone's location better than to a grid cell.
Knowing there are warm spaces nearby is one thing but you also need to know when they are open. Many of the existing directories do make some effort to record opening hours although this is largely unstructured free-form text which becomes really hard for a computer to deal with. I've written a bunch of parsing rules to extract as many opening hours as possible and put them in a well-defined opening hours format (thanks, OpenStreetMap!). That means I can display the opening hours more consistently but also, and most importantly, highlight where is open now. In fact, I've also added highlighting to show where is going to be opening soon and where is going to be closing soon.

Credit: Open Innovations
What now?
We have a few more ideas on features to add as long as we can keep them lightweight and privacy-focussed. In the mean time, if you know of any directories we are missing, please let us know. If you run an existing directory, please also consider publishing the data in a machine-readable format and don't put it behind a robot blocker otherwise there's no way for us to include it. And also, consider encouraging use of OpenStreetMap's opening hours format.