How a 3-hour council video
becomes a clickable record

Every Palm Coast City Council meeting is hours of video and thousands of spoken words. Palm Coast Watch turns each one into chapters, quotes, people, and scores — automatically — and every single claim links back to the tape.

18 meetings 57.3 hours of tape 212 agenda chapters 303 comments captured 210 people tracked
Step 1

The city posts the meeting

After every council meeting, the City of Palm Coast publishes the official video on YouTube and the agenda as a PDF. That's our raw material — public records, straight from the source.

3h 12m of video
12-item agenda
Step 2

A computer listens to every minute

Speech-recognition AI (AWS Transcribe) turns the audio into text — and tells voices apart, so we know when one speaker stops and the next begins. A three-hour meeting becomes roughly 30,000 time-stamped words.

Step 3

An AI reads it like a clerk would

A language model (Claude, on Amazon Bedrock) reads the transcript against the agenda: it finds where each agenda item actually starts in the video, and pulls out every public commenter with the name they stated at the podium. It reads each meeting several times in overlapping chunks and only keeps what the passes agree on.

Step 4

Everything gets a confidence score

Before anything goes live, the system asks: how sure are we? Did the repeated readings agree? Does the audio really contain that name? Was it a clean hand-off between speakers? Each extraction gets a calibrated score — confident results publish automatically; uncertain ones go to a human review inbox instead.

Step 5

Every quote gets a receipt

Our transcript timeline and YouTube's video timeline never quite match, so the system listens to both and slides them into alignment (acoustic cross-correlation — the same idea as syncing two music tracks by their waveforms). The payoff: click any quote on this site and the video opens at that exact second.

Step 6

The Outrage Index

A second AI pass scores every public comment 0–10 on four flavors — wild claims hyperbole attacks absurd — and pulls the single most striking verbatim line. Ordinary civic input scores 0–2 and stays off the board; only 5.0 and above is published, and a speaker is named only when the system is confident who spoke (or a human confirmed it).

Step 7

Humans stay in the loop

The AI does the heavy lifting; a person handles the judgment calls — fixing uncertain names, merging duplicate people, choosing profile photos, and pulling anything that shouldn't be up. Every change is logged, and nothing a human corrects gets silently overwritten by the machines.

Under the hood, for the curious

A dozen systems cooperate so the site can feel this simple.

AWS Transcribe — speech-to-text + voices Claude on Amazon Bedrock — reading & scoring acoustic cross-correlation — video sync calibrated confidence scoring PostgreSQL + pgvector — the database .NET Blazor — this website append-only audit log

Don't take our word for any of it

Everything here is AI-assisted and best-effort, not an official record — which is exactly why every quote, chapter, and score links straight to the city's own video. Judge for yourself.

An unhandled error has occurred. Reload 🗙