Simon Willison demonstrated a workflow using GPT-6 Astra within ChatGPT Work to generate running routes. The system utilized OpenStreetMap data, specifically the Overpass API, to locate the user’s address and download relevant road and trail information. The resulting routes were then calculated locally, producing both a 5K and a 10K loop route originating from the specified address. The system created a downloadable GPX and GeoJSON file, alongside an embedded HTML visualization.
The process involved the ‘visualize’ skill, which generated a file named /workspace/el-granada-5k-share.html. This HTML file contains a JSON script with the route geometry, utilizing D3.js for rendering. The D3.js library is loaded from a CDN, with a Content Security Policy (CSP) restricting access to only a limited set of origins, including cdnjs.cloudflare.com, esm.sh, and cdn.jsdelivr.net. This controlled environment mitigates potential security risks.
During the demonstration, challenges were observed regarding the lack of transparency in the underlying code execution. The ChatGPT UI did not provide access to the Python code used, and the thread was compacted, leading to the loss of this information. This highlights a potential anti-feature of LLM systems relying on compaction, necessitating mechanisms for preserving pre-compacted text and making it accessible via agent tool calls.
The system’s ability to dynamically generate routes based on location data and OSM data showcases the potential of combining LLMs with agent tool calling. The controlled environment and restricted CDN access demonstrate a focus on security and reliability, crucial considerations for production deployments.
Source: https://simonwillison.net/2026/Sep/12/astra-running-routes/
