- O autor do artigo, após participar da corrida de bicicleta Gravel Worlds Long Voyage, decidiu otimizar sua alimentação pedindo pizza na Casey's General Store
- No ano anterior, os ciclistas mais rápidos comeram todas as pizzas, e quando ele chegou não havia mais nenhuma
- Para resolver esse problema, decidiu escrever um script que faz um pedido de pizza quando o GPS da bicicleta sai de uma geofence
- Esse script foi construído sobre um rastreador GPS serverless criado no ano anterior
- O script calcula o ETA da próxima parada e aciona uma função Lambda para pedir pizza quando o rastreador sai de uma geofence configurada no AWS Location Service
- Como a Casey's não tem uma API pública para pedidos online, ele recorreu a scraping do site com Playwright
- Também configurou o envio de notificações push para o celular conforme o sucesso ou a falha do pedido de pizza
- Durante a corrida, recebeu uma notificação incorreta dizendo que a pizza havia sido pedida com sucesso, mas não havia registro do pedido na parada
- Após a corrida, melhorou a função Lambda para capturar um vídeo do navegador em execução e enviá-lo para um bucket S3 para análise
- Ele supõe que a falha pode ter ocorrido porque a Lambda encerrou a execução assim que o
form.submit() final foi processado no navegador Playwright
- Apesar da falha, aprendeu muito com o projeto e pretende tentar novamente na próxima corrida
- O código desse projeto está disponível no GitHub
1 comentários
Comentários do Hacker News
pizzatoolusado na Sun MicrosystemsWaypoint Pizzaé mencionada, fazendo entregas na Baía de São Francisco durante uma determinada regata