Inspiration

Teacher absences are a common school operations problem, but finding a suitable substitute is often still handled manually. Administrators must check schedule conflicts, subject match, school stage, workload, and availability before making a decision.

SchoolFlow was inspired by the idea of turning this repetitive process into a safe AI-assisted workflow while keeping the final decision with a human administrator.

What it does

SchoolFlow is a voice-first AI agent for teacher absence and substitute management.

An administrator reports a teacher absence through Alexa. The request is processed by AWS Lambda and passed into the SchoolFlow workflow.

SchoolFlow evaluates eligible teachers using deterministic safety rules, including:

  • Schedule conflicts
  • Subject match
  • School stage
  • Teacher workload

Candidates are ranked and the safest recommendation is presented to the administrator.

The AI never assigns a substitute automatically.

A human administrator must explicitly approve or reject the recommendation.

If a candidate is rejected, SchoolFlow preserves that decision in the active workflow, excludes the rejected teacher, re-ranks the remaining candidates, and recommends the next best option.

Only after explicit human approval does SchoolFlow update the prototype schedule state and prepare the substitute notification.

How we built it

SchoolFlow combines:

  • Alexa Skills Kit for voice interaction
  • AWS Lambda as the serverless backend
  • Amazon Bedrock as the AI model layer
  • Strands Agents SDK for agent tools and orchestration
  • Python for candidate ranking, validation, workflow state, and execution logic

The verified end-to-end workflow is:

Alexa → AWS Lambda → SchoolFlow Agent → Candidate Validation → Recommendation → Human Decision → Prototype Schedule Update → Notification Preparation

The voice workflow was successfully tested through the Alexa Simulator.

We also created a browser-based Simulated Alexa+ Experience to demonstrate the same agentic, human-in-the-loop workflow in an interactive interface.

The simulated Alexa+ experience allows a user to:

  1. Report Nora absent on Sunday during period 2.
  2. Receive Sara as the recommended substitute with a score of 7.
  3. Reject Sara.
  4. Preserve the rejection in the active workflow.
  5. Re-rank the remaining eligible candidates.
  6. Receive Huda as the next recommendation with a score of 5.
  7. Approve Huda.
  8. Complete the prototype schedule update and notification preparation flow.

The simulation is included in the public GitHub repository and deployed through GitHub Pages.

Simulated Alexa+ Experience:

https://zahraishag.github.io/SchoolFlow-Alexa-Agent/alexa_plus_simulator.html

Safety Architecture

SchoolFlow intentionally separates AI-assisted interaction from safety-critical decision rules.

Deterministic Python logic is responsible for validating constraints such as:

  • Schedule conflicts
  • Workload limits
  • Subject match
  • School stage
  • Rejected candidates

The AI supports the recommendation and interaction workflow, while the human administrator remains responsible for the final decision.

The core safety principle is:

AI recommends → Deterministic rules validate → Human approves → System executes safely.

Challenges

Building the complete workflow required several rounds of testing and refinement.

Key challenges included:

  • Amazon Bedrock credentials and model access
  • Alexa approve/reject intent handling
  • Maintaining rejected-candidate state
  • Connecting Alexa, AWS Lambda, and the SchoolFlow agent
  • Packaging Strands Agents SDK dependencies for Lambda
  • Python runtime compatibility
  • Configuring IAM permissions for Amazon Bedrock
  • Adjusting Lambda timeout for agent execution
  • Creating a clear Alexa+ simulation while preserving the working Alexa voice workflow

We documented these development challenges, fixes, workarounds, and improvement suggestions in our public GitHub Friction Log.

What we learned

SchoolFlow demonstrated that useful AI agents are not just about generating answers.

Reliable agentic systems need:

  • Deterministic safety rules
  • Tools
  • Workflow state
  • Human approval gates
  • Clear execution boundaries
  • Transparent handling of rejected actions
  • Operational metrics that can be measured and validated

The project also reinforced an important design lesson: AI should not replace every rule-based decision.

Deterministic checks are better suited for hard constraints such as schedule conflicts and workload limits, while AI can support interaction, reasoning, orchestration, and recommendation.

Human approval remains essential before any action is executed.

Current Prototype Status

The current SchoolFlow prototype has been successfully tested end-to-end through Alexa and demonstrated through a browser-based simulated Alexa+ experience.

It currently supports:

  • Reporting a teacher absence through Alexa
  • Voice-based interaction
  • Candidate evaluation and ranking
  • Schedule conflict validation
  • Workload validation
  • Subject and school-stage matching
  • Human approval and rejection
  • Rejected-candidate memory within the active workflow
  • Re-ranking after rejection
  • Prototype schedule-state updates
  • Notification preparation
  • Interactive simulated Alexa+ workflow

The next stage is to connect SchoolFlow to persistent school scheduling data and real notification services.

Future evaluation will focus on operational metrics such as:

  • Substitute assignment time
  • Conflict-free recommendation rate
  • Workload fairness
  • Administrator approval rate
  • Escalation frequency

SchoolFlow is designed around one principle:

AI recommends → Deterministic rules validate → Human approves → System executes safely.

Built With

  • alexa-skills-kit
  • amazon-bedrock
  • aws-lambda
  • python
  • strands-agents-sdk
Share this project:

Updates

posted an update —

SchoolFlow is now running end-to-end through Alexa. We completed the integration from Alexa → AWS Lambda → SchoolFlow Agent using Amazon Bedrock and the Strands Agents SDK. The workflow now supports candidate validation, human rejection and re-ranking, explicit approval, prototype schedule updates, and notification preparation. We also added end-to-end Alexa screenshots and a development Friction Log to the public GitHub repository.

Log in or sign up for Devpost to join the conversation.

Submission history