Home / Methodology

How this works

Every vote record on LocalVotes originates from an official public document. Here is exactly how raw government PDFs become the structured, searchable records you see — and how you can verify or challenge any entry.

Step 1

Source documents

The City of Tallahassee publishes official meeting minutes and agenda packets through BoardDocs, its public records management platform. These PDFs are the authoritative source for every vote recorded on LocalVotes — nothing is inferred, estimated, or sourced from news coverage.

Each agenda item page links directly back to the original BoardDocs PDF so you can compare the published record against the source document at any time.
Step 2

AI-assisted extraction

Meeting minutes PDFs are often scanned images or dense multi-hundred-page documents. A volunteer uploads the PDF through a private admin interface. LocalVotes then runs a two-stage extraction pipeline:

  1. Text extraction — if the PDF contains selectable text, it is extracted directly using pdf-parse. This is fast and does not involve AI.
  2. OCR fallback— if the PDF is a scanned image (fewer than 500 characters of extractable text), the raw PDF is sent to Claude, Anthropic’s AI, which reads the document visually and extracts structured data.

Either way, Claude is then asked to identify each voted agenda item and return structured JSON containing: the item number, title, a plain-language summary, the motion text, the mover and seconder, the outcome, and each commissioner’s individual vote value.

Step 3

Human review before publishing

AI extraction is never published directly. Every parsed result goes through a review interface where a human volunteer sees the AI output side-by-side with the raw source text. The reviewer can:

  • Edit the title, summary, motion text, or outcome for any item
  • Correct individual vote values
  • Add or remove category tags
  • Exclude items that were not actually voted on
  • Reject the entire parse job and start over

Only items that a reviewer explicitly approves are published. The reviewer’s name and the timestamp of the review are recorded in our database.

Step 4

Audit trail

Every write to the database — creation, edit, or status change — is recorded in an append-only audit log that captures the action type, the affected record, the previous value, the new value, who made the change, and when. This log is never modified or deleted.

Each agenda item page shows which meeting PDF it was sourced from via the BoardDocs link. The original AI-extracted text is stored alongside the published record so any discrepancy between what Claude read and what a reviewer approved is permanently preserved.

Corrections

Found an error?

Accuracy is the whole point. If you believe a vote record is incorrect — wrong outcome, wrong commissioner vote value, or a missing item — please report it. Include the agenda item name, the meeting date, and a reference to the source document if you have it. Corrections are reviewed within 48 hours and the audit log is updated to reflect any change.

Report a correction →

What AI does and does not do

AI is used for
  • Reading scanned PDFs (OCR)
  • Extracting structured vote data from dense minutes text
  • Drafting plain-language summaries
  • Suggesting category tags
AI is not used for
  • Publishing anything without human approval
  • Interpreting intent or motivation
  • Generating vote outcomes — those come from the source document
  • Replacing the original source document