I wired up my bike’s GPS to order me pizza during a gravel race

In the Midwest, the harvest season is marked by the Gravel Worlds Long Voyage bike race. This year, my goal was to optimize my food choices by ordering pizza from Casey’s General Store, a convenient option in remote areas. However, last year all the pizza was gone by the time I reached the stops. To solve this problem, I developed a script that would order a fresh pizza for me when I approached the stop. Using geofencing and a Lambda function, I was able to trigger the pizza order. I encountered some challenges, such as the lack of a public API for Casey’s online ordering, but I managed to scrape the website using Playwright. Unfortunately, there was a false positive where the pizza appeared to be successfully ordered, but it wasn’t. I made some improvements to the code and eventually enjoyed a fresh Hawaiian pizza. While the pizza ordering functionality didn’t work perfectly, I learned valuable lessons and am prepared to try again in future races.


To top