🏆 Agents for Humans · Good Neighbor track · Built with the Strands Agents SDK

🤝 Volunteer Shift Matcher

Fill a food bank's volunteer shifts in seconds. The AI agent builds an auditable match plan, drafts warm confirmation messages, and writes help-needed broadcasts for any gap it can't fill.

The problem

Food banks and small nonprofits chronically have unfilled volunteer shifts — not because volunteers don't exist, but because manually matching volunteer availability and skills to open shifts (via spreadsheets or group texts) is slow and error-prone for a coordinator who is already stretched thin. This agent does that matching and outreach for them.

What it does

🧮

Auditable matching

A deterministic Python @tool assigns volunteers to shifts by role + availability — reproducible, not an LLM guess.

💌

Warm confirmations

The LLM drafts a friendly, ready-to-send confirmation message for every assigned volunteer.

📣

Help-needed broadcasts

For any shift it can't fully fill, it writes a group-text-ready "we still need…" broadcast describing the exact gap.

🧩

Structured + readable

Outputs both machine-readable JSON and a clean, colour-coded visual summary.

How it works

1 · Input

Volunteer data + open shift data go into the agent.

2 · Match (Strands tool)

The agent calls the deterministic match_shifts tool for the assignments and gaps.

3 · Draft (LLM)

Amazon Bedrock drafts the confirmation and help-needed messages.

4 · Output

You get the plan, confirmations, and broadcasts — as JSON and a visual summary.

Built with

Strands Agents SDK Amazon Bedrock (Claude) Streamlit Python
🔒 This demo uses only synthetic sample data — no real personal information — and no API keys are committed anywhere. The public app runs keyless; you can optionally test the live Bedrock agent with your own temporary AWS credentials.