Inspiration

When a disruption happens, time is often the most valuable resource. A delayed or cancelled train before an important meeting can force someone to quickly check their revised arrival time, look for alternative routes, compare options, and decide what to do next.

Finding an alternative is only part of the problem. Choosing the optimal option and actually taking action can take valuable time—especially when the person is already under pressure.

We wanted to build an AI agent that could handle this work proactively. Instead of simply sending a notification such as "your train is delayed," NextStep AI understands how the disruption affects the user's schedule, evaluates available alternatives, and determines the best next step.

The goal is simple: when something goes wrong, reduce the time between detecting the problem and taking the right action.

What it does

NextStep AI is an autonomous daily-disruption agent that monitors a user's commute and schedule.

When a disruption is detected, the agent:

  • Understands the disruption and its impact on the user's schedule.
  • Checks calendar events and meeting importance.
  • Calculates schedule risk and evaluates alternatives.
  • Automatically resolves low-stakes situations when it is safe to do so.
  • Surfaces one clear decision with ranked alternatives when human judgment is required.

For example, if a minor transit delay affects an internal meeting, the agent can automatically notify attendees with the updated ETA. If a major delay affects an important client meeting or requires spending money on an alternative route, the agent asks the user to choose before taking action.

How we built it

We built NextStep AI using the AWS Strands Agents SDK as the core agent framework.

The agent uses specialized tools for:

  • Transit status
  • Calendar information
  • Alternative route generation
  • User notifications
  • Taking actions

Amazon Bedrock provides the underlying AI reasoning, while the system supports different model providers for development and demonstration.

The project is structured around an explicit Autonomy Boundary that classifies situations as low-stakes or high-stakes.

We use Python for the agent and tool layer, with mock transit and calendar data to simulate realistic disruption scenarios. The system is designed so these mock data sources can later be replaced with live transit, calendar, notification, and ride-booking APIs.

Challenges we ran into

The biggest challenge was deciding when the AI should act on its own and when it should involve the user.

We did not want an agent that either asks the user for permission for every small action or makes important decisions without them. We therefore designed an explicit autonomy boundary based on factors such as delay duration, meeting importance, and financial cost.

Another challenge was making the agent proactive rather than simply reactive. Instead of waiting for the user to ask what happened, the system monitors for disruptions and starts the recovery workflow when a meaningful change is detected.

Accomplishments that we're proud of

We are proud of building an agent that goes beyond simply reporting disruptions.

The system can:

  • Monitor for disruption events.
  • Correlate disruptions with the user's calendar.
  • Evaluate schedule risk.
  • Generate and rank alternatives.
  • Automatically resolve appropriate low-stakes situations.
  • Escalate high-stakes situations through a single actionable decision.

We are especially proud of the Autonomy Boundary, which allows the agent to be useful without giving it unlimited authority.

What we learned

We learned that building an effective AI agent is not just about giving an LLM access to tools.

The agent needs clear decision boundaries, reliable tools, useful context, and a carefully designed interaction model.

We also learned that autonomy should depend on the consequences of an action. Small, reversible actions can often be automated, while expensive or high-impact decisions should remain under human control.

What's next for NextStep AI

The next step is to connect the system to live transit and calendar services instead of simulated data.

We also want to expand its integrations with ride-booking and communication platforms, improve personalization through long-term memory, and support more types of daily disruptions.

Our long-term goal is to make NextStep AI a proactive personal recovery agent that detects problems early, finds the optimal next step quickly, and takes action without taking control away from the user.

Built With

  • amazon-bedrock
  • amazon-bedrock-agentcore
  • amazon-dynamodb
  • aws-bedrock-agentcore
  • aws-strands-agents-sdk
  • boto3
  • fastapi
  • langchain
  • langgraph
  • pydantic
  • pytest
  • python
  • strands-agents-sdk
Share this project:

Updates

Submission history