Inspiration

Kelly from Mission Local mentioned that they don't have enough jounalists to attend every single SF district supervisor meeting, and that sometimes meetings can run as long as 3 hours.

We wanted to help her surface relevant information from each meeting in a format that's easy to fact-check and also guage public interest on.

What it does

It pulls the transcripts from the sf supervisor meetings from legislar, analyzes them, and surfaces interesting headlines + citations that mention what actually happened in the meetings.

Basically, it captures the "vibe" of the meeting, including what was interesting, humorous, etc. It also organizes it into a "who said what" format so that each supervisor's stances/actions are more legible to the reporter.

How we built it

We scraped the legistar database for information about city council meetings and meeting transcripts, along with associated legislation. We parsed the transcripts using a mixture of standard parsing and Gemini flash lite for inconsistently formatted documents. We used AugmentCode's CLI to pull out important information from the transcripts and summarize them for the user. Then we have a snazzy ReactJS frontend.

Challenges we ran into

The city data website has a really poor architecture and doesn't have a working API. In order to scrape we had to use Selenium to simulate a user clicking through the website.

It was hard to determine how to present the data well to the user, and how they would interact with the site.

Accomplishments that we're proud of

What we learned

Journalism is hard! The "interesting" headlines the LLM generated turned out not to be super accurate. They tended to mislead in subtle ways, which is what inspired us to add the fact checking feature.

What's next for SF Board Headlines Research Tool

Here are some features we'd like to add, that would be not too difficult now that the site's framework is there:

  • An MCP server to make city data available to AI agents. The original vision was a way to interface with city data through questions like "What is the history for building legislation."

  • Integrate meeting agendas, minutes, and legislation text into the data available on the website.

  • Add the ability to view votes and legislation history

  • We also added some UI so that journalists can fact check (eventually this can be extended for crowdsource factchecking to surface the relevant nuanced context).

Built With

Share this project:

Updates