The Michigan Daily Web Team created a few live trackers on local elections and voting wait times for election day (November 5th, 2024). These graphics were displayed during the day of the election, but have since been taken down - so I've decided to compile them here and explain some of the processes and methods.
The first graph on the top shows the registration wait times on Monday, November 4th. The second graph shows the registration wait times on Tuesday, November 5th. While registration times peaked at around 100 minutes the day before the election, election day was much calmer, with a steady and small stream of voters throughout the day.
According to staff at the University of Michigan Museum of Art, the actual wait times were usually shorter than the reported wait times, which were generally reported as 1 person in line = 1 minute of wait time. To reflect this, we used a 0.7 multiplier to accurately display the actual time in line.
The data scraper was built a few days in advance using Python with an AWS Lambda function. Using AWS EventBridge, we scraped the City of Ann Arbor website every 5 minutes for updated wait times. Due to registration wait times being tracked the week before the election, we had a decent amount of time for test runs of the scraper before the day of!
Our second tracker scraped data using the same methodology as our wait times tracker, and displayed live updates for votes on the City of Ann Arbor proposals. This tracker was refined throughout the course of election night as data began to come in. While the maps were live updating, we used dashed lines to represent that votes were still being counted.

Being in a newsroom on election night feels special - the sensation of being a part of the history in covering this small moment.