CivicAid — Community Support, Without the Coordination Overhead

Community organizations, student groups, NGOs, and local volunteers often have the people and resources to help — but coordinating everything manually becomes a problem.

A simple request can turn into a chain of repetitive work:

understand the request → find resources → match volunteers → assign tasks → notify people → track progress → follow up.

CivicAid is designed to take over this coordination work through an autonomous AI agent.

💡 Inspiration

We were inspired by a simple question:

What if community organizations didn't have to spend their time coordinating the work that needs to be done?

Most AI assistants wait for a person to ask a question. CivicAid takes a different approach. It is designed to work in the background, understand incoming requests, plan the required actions, use available tools, and involve a human only when a decision genuinely requires human judgment.

🤖 What CivicAid Does

A community request enters the system, for example:

“A community center needs 40 meal kits for 12 families tomorrow.”

CivicAid can break this into actionable steps:

  1. Understand and structure the request.
  2. Determine urgency and required resources.
  3. Check available inventory.
  4. Find suitable volunteers.
  5. Create an action plan.
  6. Assign and notify volunteers.
  7. Track the request through completion.
  8. Schedule follow-ups when required.
  9. Escalate exceptions to a human instead of making an unsafe assumption.

The goal is simple:

Automate the routine. Escalate the important.

🧠 Why an Agent?

CivicAid is not designed as a chatbot that simply generates recommendations.

The agent is responsible for planning and executing a workflow using tools. It can decide which action should happen next, maintain the context of an ongoing request, and react to the result of previous actions.

This makes Strands Agents SDK a core part of the system rather than an add-on.

🏗️ How We Are Building It

The core orchestration layer is built around the Strands Agents SDK, with the agent connected to tools for:

  • Request analysis
  • Resource matching
  • Volunteer matching
  • Task creation
  • Notifications
  • Status tracking
  • Follow-up management

The application is designed with a React-based interface for community coordinators and a Python backend for agent orchestration and tool execution.

Where appropriate, we plan to use AWS services and Amazon Bedrock AgentCore to support deployment and production-oriented agent execution.

🔐 Human-in-the-Loop

Autonomy does not mean removing people from the process.

CivicAid follows an exception-first approach: routine actions can be handled automatically, while uncertain, sensitive, or consequential decisions are surfaced for human approval.

For example:

⚠️ “Two volunteers are available, but both are significantly outside the requested area. Should I assign them?”

The coordinator makes the decision. CivicAid handles the repetitive work around it.

📚 What We Are Learning

Building CivicAid gives us the opportunity to explore agentic AI beyond simple prompting — particularly tool use, agent orchestration, state management, human-in-the-loop workflows, and deploying AI agents on AWS.

We are also learning how to design an agent around a real workflow rather than starting with an AI model and trying to find a problem for it to solve.

🚧 Challenges

One of the biggest challenges is deciding what the agent should do autonomously and where it should stop.

An agent that asks for approval at every step is not useful, while an agent that makes every decision independently can create unnecessary risk.

We are therefore designing CivicAid around clear tool boundaries, structured actions, validation, and human escalation.

Another challenge is making the experience feel like an agent is actually doing work in the background rather than simply producing a chat response. Our interface therefore focuses on showing the agent's actions, decisions, progress, and exceptions.

🌍 Our Vision

CivicAid is built around a simple idea:

People should spend their time helping people — not coordinating spreadsheets, messages, and repetitive follow-ups.

By taking care of the operational busywork, CivicAid aims to help small community organizations accomplish more with the people and resources they already have.

Built With

Share this project:

Updates

Submission history