Windy Gap generates hiking and running routes based on what you ask for. There are potential routes all around us and it finds them.I built it because I train for endurance events and have a camper van. I kept wanting to do certain kinds of hikes and runs and having no popular routes nearby, even in areas with dense path networks. I also wanted to squeeze more novelty out of my local area.Instead of choosing an existing route or plotting one waypoint by waypoint you can ask for something like a hilly half day walk from where you are. You can mark places to check out and avoid and it folds them into the routes it gives you.At request time, it uses a precompiled path graph (Europe, the Americas, and India). It analyzes what s actually on route: distance, elevation, summits, surface type, points of interest etc. Then scores candidates against the brief and returns the best. The initial naive implementation (typescript based, directly fetching from Overpass) was hopelessly slow (P95 ~48s, RAM use off the charts). After rewriting to a sharded Rust-based approach, things got a lot better (P50 ~3.5s, P95 ~11s). London benchmark: ~2.2 GB in Node - ~114 MB in Rust.The hard part is balancing route quality and insights against search time. Kind of a travelling salesman problem as a service (TSPAAS).It s free to generate routes. Offline maps, GPX export, live route sharing are paid.Things I need to improve: OSM over-reports rights of way in the UK, so it can route you across land you shouldn t cross. Scoring needs a little more work to better penalize busy roads. Right now it works better in rural areas than urban.It reproduced The Fan Dance from first principles in an early test. That s when I thought it might work.Try somewhere you know well and tell me what s wrong.