Council Minutes AI Search
An AI-powered search tool that makes city council meeting minutes accessible and searchable across multiple South Bay municipalities. Natural language queries surface relevant discussions, votes, and decisions with AI-generated summaries.
How it works
Ingest & Parse
Meeting minutes PDFs and agendas are scraped from city websites, parsed with OCR, and structured into searchable records with metadata.
Index & Embed
Documents are indexed in Elasticsearch with OpenAI embeddings for semantic search, enabling natural language queries beyond keyword matching.
Search & Summarize
Results are ranked by relevance and an LLM synthesizes findings across multiple meetings into a concise summary for the user.
Interactive Demo
Search the Record
Full-text search across council minutes, planning commission hearings, and committee reports from six South Bay municipalities.
Search South Bay Council Minutes
Full-text search across meeting minutes, hearings, and committee reports from six South Bay municipalities. Enter a query above to begin.
The problem
City council meeting minutes are public record, but practically inaccessible. They're published as multi-hundred-page PDFs that technically meet the transparency requirement but functionally hide the information. Keyword search fails on scanned documents, nothing is indexed across meetings, and a resident trying to find when their neighborhood sidewalk project was discussed has to download and manually search dozens of files.
The approach
Legistar API for structured meeting data, OpenAI embeddings for semantic search, and Elasticsearch for retrieval. Meeting minutes are ingested, chunked, embedded, and indexed automatically. Natural language queries surface relevant agenda items, votes, and discussions with AI-generated summaries that cite the source meeting and page. Fast enough to feel conversational: not "run a query" but "ask a question."
Why it matters
AI-powered access to government documents reduces FOIA request volume, lets staff answer constituent questions in seconds instead of hours, and dramatically improves transparency without changing how minutes are published. Agencies keep their existing workflow; Stoa handles ingestion and keeps the index current. The result is a city council that looks responsive and modern with minimal lift on their end. One system, eleven municipalities, one search interface.