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:

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:

RouteWalkIn the sun
Fastest14 min11 min
Balanced16 min7 min
Coolest22 min1 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.