Heatwave
Heatwave gives walking directions that find the most tolerable route instead of the shortest one. It’s live at heatwaves.app.
- Role
- I’ve built it on my own since September 2025.
- Built with
- It uses Python, GeoPandas, OSMnx, and rioxarray for the data, and Node.js and MapLibre for the app.
- Use
- People have planned more than 10,000 routes with it across the contiguous United States.
- Recognition
- It won the Congressional App Challenge for Texas’s 34th district.
How it works
Each request pulls current conditions from the National Weather Service’s forecast API (air temperature, relative humidity, wind speed, and cloud cover) and uses them to give every edge of the pedestrian graph a thermal-burden score. The score has three channels, each normalized to [0, 1] and weighted into a composite:
- Ambient heat comes from the temperature, humidity, and wind, and it’s the same for every street in a given request.
- Solar heat is the direct sun. It grows with the sun’s altitude and with how much light gets through the clouds, and tree canopy over a street reduces it.
- Retained heat is what surfaces like asphalt and concrete give off, estimated from the USGS land-cover class along each street.
Routing runs A* over state-level pedestrian graphs built from OpenStreetMap and national land-cover data, with an admissible heuristic for each mode. Your location is snapped to the nearest street with an R-tree, and all three modes come back from the server in a single round trip:
- Fastest is standard pedestrian routing, with the shortest travel time.
- Balanced weighs speed against thermal comfort.
- Coolest minimizes the total heat, regardless of distance.
| Route | Walk | In the sun |
|---|---|---|
| Fastest | 14 min | 11 min |
| Balanced | 16 min | 7 min |
| Coolest | 22 min | 1 min |
Fig. 2. Shade usually costs a detour. This is the same kind of city as Fig. 1, but now detours are allowed, the way Heatwave plans routes. Fastest takes the fewest minutes. Coolest spends the fewest minutes in the sun, however long the walk. Balanced minimizes minutes walking plus minutes in the sun, so a sunny minute counts double. Each is one shortest-path search; only the cost of a stretch changes.
Each stretch of street between two corners takes a minute to walk. Stretches lined with trees are shaded; the rest are in the sun. Drag A or B, or .
Heatwave is a work in progress, and it only covers the contiguous United States. Its map data comes from OpenStreetMap contributors.