Who shows up to city council on time?
Atlanta City Council meeting minutes include which members were present and what time they arrived, which made me curious—who shows up on time?
The council uses Granicus to post agendas and minutes in a structured HTML page. I downloaded minutes for all of the meetings in 2024—165 in all.

Then I compared the stated arrival time for each attendee to the meeting’s scheduled time. I used Simon Wilson’s llm
library.
The models I have access to wouldn’t accept PDFs as attachments, so I first had to convert each file to a PNG. Since the attendance information is always on the first page, it was relatively straightforward to do with imagemagick.
for f in $(ls pdfs); do
magick convert -density 150 "pdfs/$f[0]" "pngs/$f.png"
done
After testing a few documents one a time, I wrote a Python script to submit all 165 and generate a CSV. There was still some manual clean-up required, including normalizing the spelling of names (the llm output created multiple variations for some of the names).
So who shows up on time? The council legislative assistants rarely show up late—they usually arrive at least 30 minutes before the meeting.
Councilman Julian Bond is the tardiest, averaging 30 minutes late over 52 meetings.
Charts
Postscript
I tried a couple of different approaches for plotting the data, and settled on the histograms above as the clearest.

