Inspiration

In youth and recreational soccer, player often doesn't know what kind of team they will be playing against except the name of the opposite team. This AI agent would help the players and coach to learn more about their opponent, so they could better prepare.

What it does

The AI agent will use the games result in the past and provide prediction for the up coming game using structured logical analysis.

How we built it

Game schedule and result PDF will be upload to S3 and ingested to DynamoDB Strands Agent running on AWS AgentCore runtime would use the data from DynamoDB to make prediction A simple UI will provide the chat interface to the Agent Spec driven development using Kiro

Challenges we ran into

Game schedule and result is only available in PDF format Data related to the game play is not easily available. There is no public play-by-play log for youth and recreational soccer game. Some game recording service does offer post game analysis with more granular data (movement, heatmap, etc), but those are proprietary.

Accomplishments that we're proud of

A working and deployable UI, data ingression, AI Agent backend, clean infrastructure setup and tear down.

What we learned

LLM is quite good to make reasonable analysis with limited amount of data. With careful planning and right instruction, Kiro was extremely helpful during development.

What's next for The Beautiful Game

  • Let's my son's soccer team use it and inspire them to build with AI tools.
  • Automate weekly game data update.
  • Add more data input type beside game schedule (e.g. play-by-play, game video recording).
  • Add different data store (e.g. vector) for boarder knowledge base.
  • Add mcp for AI Agent to automatically choose appropriate data source for analysis.

Built With

  • agent-core
  • bedrock
  • cognito
  • dynamodb
  • kiro
  • lambda
  • python
  • s3
  • strands
  • streamlit
Share this project:

Updates