- Tras participar en la carrera de ciclismo Gravel Worlds Long Voyage, el autor del artículo decidió optimizar su alimentación pidiendo pizza en Casey's General Store
- El año anterior, los corredores más rápidos se habían comido toda la pizza, así que cuando llegó ya no quedaba
- Para resolver este problema, decidió escribir un script que pidiera pizza cuando el GPS de la bicicleta saliera de una geocerca
- Este script fue construido sobre un rastreador GPS serverless que había creado el año anterior
- El script calcula el ETA de la siguiente parada y activa una función Lambda que pide la pizza cuando el rastreador sale de una geocerca configurada en el servicio AWS Location
- Como Casey's no tiene una API pública para pedidos en línea, dependió de scraping del sitio web usando Playwright
- Configuró el sistema para que se enviaran notificaciones push a su teléfono según el éxito o el fracaso del pedido de pizza
- Durante la carrera recibió una notificación incorrecta de que la pizza se había pedido con éxito, pero en la parada no había registro del pedido
- Después de la carrera, mejoró la función Lambda para capturar video del navegador en funcionamiento y subirlo a un bucket de S3 para su análisis
- Sospecha que el fallo pudo deberse a que Lambda terminó el procesamiento justo después de que se manejara el
form.submit() final dentro del navegador Playwright
- A pesar del fallo, aprendió mucho con este proyecto y planea intentarlo de nuevo en la próxima carrera
- El código de este proyecto está disponible en GitHub
1 comentarios
Opinión de Hacker News
pizzatool, usado en Sun Microsystems