Inspiration

200+ messages in a parent group chat. A yes-or-no poll. Still no decision.

Parents may be talking about homework, reading support, or school communication, but someone has to go back through the discussion and work out what to raise with the school. That usually means reading everything, grouping repeated concerns, and writing a summary.

We built Saywide to take that work off community organizers’ hands. For the Good Neighbor Agents track, we chose a problem that parent representatives, schools, and small local organizations regularly face: turning people’s feedback into a useful basis for action. A yes-or-no poll. Still no decision

What it does

An organizer describes what they want to find out, by voice or text. AI drafts the survey title, description, and questions for review. The organizer then shares a link or QR code.

Participants answer in their own words, by voice or text.

Once responses are collected, the organizer tells the agent what the report should focus on. For example: “Which concerns come up most, and what should we raise with the school?”

The agent analyzes the responses, groups related ideas, identifies shared priorities and less common concerns, and prepares a report with supporting quotes and suggested actions. The organizer can follow its progress and inspect the evidence before deciding what to do next. Workflow

How we built it

The Strands Agents SDK runs the reporting workflow. Report skills guide the agent’s analysis and self-checks, while the backend validates source references and calculates support counts and percentages from a fixed response snapshot. This gives organizers a way to trace findings back to the submitted answers.

The application uses Next.js for the frontend, Fastify for the API, and PostgreSQL for surveys, responses, and reports. OpenAI handles survey drafting and is the default report model; reports also support Amazon Bedrock models.

Amazon Transcribe handles live speech-to-text. Audio streams directly from the browser through a short-lived signed URL. The Saywide backend stores submitted answer text but does not receive or store the audio.

Challenges we ran into

Keeping findings connected to evidence was a central challenge. People can describe the same concern in very different ways, and one answer can touch on several topics. The agent needs to interpret that language while keeping its conclusions tied to the source responses. We put reference validation and support calculations in backend code so those checks are explicit.

Voice also needed a review step. Participants can correct their transcripts before submitting, giving them control over what enters the report.

Accomplishments that we're proud of

We brought survey creation, voice responses, and agent reporting together in a working application at saywide.com. Organizers can start as guests, and participants can respond without signing up.

We’re particularly proud of the connection between findings and evidence. An organizer can see the responses behind a concern and how much support it has. That makes the report useful for a conversation with a school or community group.

Structured report

What we learned

We learned how to divide responsibility between the agent and the application. The agent interprets language and connects ideas; the backend checks references and calculates support. People bring the context and make the decisions.

What's next for Saywide

We want to:

  1. Use Saywide with parent groups and community organizers.
  2. Evaluate Amazon Bedrock AgentCore AI Models for running report jobs as usage grows.
  3. Add multilingual support for both transcriptions and report flow.

Happy

Built With

Share this project:

Updates

Submission history