Inspiration

Coaches spend an enormous amount of time chasing operational details that sit outside the actual work of coaching: schedule changes, facility conflicts, transportation, eligibility, equipment, opponent information, staff coordination, and team communication.

The problem is not simply that this information is scattered. Someone still has to determine what matters, what changed, what is missing, and what needs to happen next.

OI Athletics · Coach Operations Agent explores a simple question:

What if a coach could say, “Get me ready for this week,” and hand off the operational reasoning — without handing over human authority?

What it does

The Coach Operations Agent evaluates representative structured athletics data across a coach’s week and builds an operational readiness picture.

In the demo:

  • Tuesday’s home game is ready.
  • Wednesday’s practice has changed and requires team communication.
  • Friday’s away game is missing host-site logistics.

Instead of merely displaying those facts, the agent reasons across them. It resolves routine readiness, identifies exceptions, and prepares the actions required to close those gaps.

For consequential external actions, however, the agent stops.

The coach receives explicit Approve / Deny controls. Each authorization is independently scoped. Approving Wednesday’s team notification does not authorize Friday’s TeamLine AI voice call.

The LLM cannot authorize itself.

Once an action is explicitly authorized, deterministic post-authorization execution performs only that authorized action and updates readiness state. Replay and at-most-once protections help prevent duplicate external execution.

TeamLine provides a bounded AI voice-call pathway for gathering missing operational facts when a conversation works better than another text or email — but only after explicit coach authorization.

How we built it

The application combines:

  • Strands Agents for agentic reasoning and tool orchestration
  • Amazon Bedrock AgentCore for the deployed agent runtime
  • Claude Sonnet 4 as the language model
  • AWS Lambda for the web application
  • Server-side AWS access through Boto3
  • Structured athletics operations data
  • Explicit structured authorization state
  • Deterministic post-authorization execution
  • Team notification and TeamLine AI voice-call pathways
  • Replay and at-most-once execution protections

The browser receives no AWS credentials. The web application invokes the AgentCore runtime server-side and presents the coach with readiness information and independently scoped proposed actions.

The architecture deliberately separates reasoning, human authorization, and external execution.

Challenges we ran into

The hardest problem was not getting an LLM to identify what should happen. It was making sure the system could reliably distinguish between recommending an action and having authority to execute it.

An earlier implementation could transition an action into an authorized state but still depended too heavily on the model to remember every authorized execution step. We replaced that behavior with a deterministic post-authorization execution contract.

That means authorization is never inferred from conversational language or granted by the model. External execution occurs only from structured authorization state, and independently proposed actions remain independent.

Deployment also required keeping AWS credentials entirely server-side while providing judges with a simple web experience.

Accomplishments that we're proud of

The final system is a deployed working agent rather than a conversational mockup.

We are especially proud that the demo shows both capability and restraint.

When the coach approves Wednesday’s team notification, that action executes and Wednesday’s readiness state advances. Friday’s TeamLine call remains visibly pending because it was never authorized.

That pending action is intentional. It demonstrates the system's central human-authority principle in the live application.

The repository also includes automated tests covering the authorization and execution boundaries, along with production smoke validation of the complete workflow.

What we learned

Useful human-centered agents need more than intelligence. They need clearly defined authority.

A model can be very good at determining what should happen next while still being the wrong entity to decide whether a consequential real-world action is permitted.

Separating agentic reasoning from structured human authorization and deterministic execution produced a system that can take meaningful operational work off a coach’s plate while keeping consequential decisions where they belong.

We also learned that the most useful interface for an agent may be an outcome rather than a sequence of commands.

The coach should not have to manage every underlying task. The goal is to be able to ask:

“Get me ready for this week.”

What's next for OI Athletics · Coach Operations Agent

The current demonstration uses representative structured athletics data so the agent architecture and authorization model can be evaluated without implying integrations that have not been verified.

The next stage is to connect this architecture to additional real athletics data sources and operational systems while preserving the same human-authority boundary.

The broader goal is straightforward:

Hand off the logistics. You make the calls. Focus more on coaching.

Built With

  • amazon-bedrock
  • amazon-bedrock-agentcore
  • aws-lambda
  • boto3
  • claude-sonnet-4
  • python
  • strands-agents
Share this project:

Updates

Submission history