Behind the scenes: Where will you vote?

How IWillVote delivers the most up-to-date polling locations

Cris Concepcion
DNC Tech Team
5 min readSep 23, 2020

--

Early voting for the 2020 general election has begun! With that, tens of thousands of people have already headed to IWillVote.com to look up their polling locations (including ballot drop off locations and in-person early voting locations, if available in that voter’s state). In the days leading up to November 3, we anticipate millions of people will use the voting location lookup functionality on IWillVote.com.

With elections administered by states and localities, maintaining the most up-to-date polling location information is not a small task.

The Voting Services team in DNC Tech is responsible for a suite of sites and services that support a citizen’s constitutional franchise to vote in our democracy. These include tools dedicated to voter protection, as well as IWillVote.com, and our polling place lookup API. We’ve continuously invested in these tools in preparation for the general election, and in ongoing efforts to support state and municipal elections throughout the year.

Centralizing & maintaining polling location data

Elections are administered by states and localities, so information and rules vary widely. Polling location databases are occasionally available online in some states, but in many other states, this information still must be pieced together from a variety of web sites, spreadsheets, PDFs, and the occasional JPG. This data is error prone, and errors can lead to confusion amongst voters and campaign staff.

Screenshot of JPG showing polling locations
Yup — a JPG for text data. That happens.

The source data (polling locations) can change in an instant. Often changes are distributed not in a tidy API response or database update, but by word-of-mouth or conflicting press releases. This presents a complex challenge: How do we ensure that voters have the most up-to-date and accurate polling location information?

At a high-level, this is how polling locations are kept up-to-date on IWillVote.com, the IWillVote widget, and voter protection tools:

  1. Depending on the state, the board of elections, secretary of state, or county or municipal office provides the polling locations.
  2. The Democratic state parties upload the polling location data (including dropbox locations, voting center hours, and special instructions) to the DNC’s Voting Location Pipeline.
  3. Via the Voting Location Pipeline, the polling locations are geocoded and quality checked.
  4. The polling location data are then published on IWillVote.com and other tools.
  5. If updates need to be made, the state party or our team can make the edits in our source data and these will be automatically published by our pipeline.

This process allows the teams that know the data best — the state party data teams — to quickly and easily keep locations up-to-date, and allows our team to quality check and process location changes at scale.

The tools and process we use today would not be nearly as effective without our continuous iteration throughout the election cycle.

Iterating with every election, not just in November

By viewing the election cycle (starting with the primaries), as an opportunity for iteration, rather than linear build-up to November 3, we’ve been able to make continuous improvements to our tools, infrastructure, and processes. Ultimately, this has prepared us to quickly and efficiently deliver the most up-to-date polling locations to voters and voter protection teams.

Improving data infrastructure to make real-time updates

We’ve invested in developing data infrastructure that allows state parties and the DNC to update polling locations on IWillVote.com in near real-time. These investments include:

  • Building an “express” data pipeline to pull data from state parties in almost real-time.
  • Running load tests against all of our systems and preemptively deal with areas that would limit our performance during an election.

As a result of these changes, once we’ve confirmed the veracity of any new information, our ability to respond to on-the-ground changes is almost instantaneous.

The result: During the 2020 primaries, when polling locations we’re rapidly changing due to COVID-19, we quickly and smoothly pushed hundreds of polling location changes that happened on the day of the election, often in less than an hour.

Developing automated geocoding

Geocodes are the sets of latitude and longitude coordinates of a physical location. Geocoding polling locations involves querying databases maintained by the USPS and other mapping companies to match addresses and retrieve these coordinates. That allows us to leverage mapping tools to deploy poll observer teams, and to help citizens find their closest location (when they have multiple options).

During the early primaries, we would often receive source data with bad addresses. Often these were addresses that looked correct to the naked eye, but actually had a zip code that was off by one digit, or a street address that used “road” instead of “avenue.”

Now our pipelines automatically geocode all polling locations that we receive, allowing us to flag hundreds of bad addresses at scale. We’re then able to work with the state to quickly update the locations.

Continuously checking quality

During the early primaries, we implemented a just-in-time system of quality assurance (QA). Data problems in uploaded data were identified when we attempted to sync the data.

We’ve implemented a new process that runs automated QA on any draft data on a continuous basis. As a result, state teams can load data and get feedback on problems almost instantly, dramatically reducing the amount of time, and work needed to get this information live.

Many hands make faster updates

As we ramp up for the general election and work closely with Democratic campaigns across the country, we’ve enlisted the help of volunteer teams to augment state party efforts to collect these polling locations. As a result, we’re able to get a richer and more complete dataset, due to contributions of many hands to help with sourcing, entering, and testing this information.

Conclusion

In politics, with so much of our attention focused on November 3, teams can run the risk of fixating, rather than iterating. For our team, the primary season allowed us to see what worked, what didn’t, and continually improve our tools. So now, as early voting starts, citizens have access to the most up-to-date polling location information, no matter what this election season might throw at us.

Have you made a plan to vote? Now is a great time to head to IWillVote.com to take a moment to decide when, where, and how you’ll vote.

— — — — —

Copyright 2020 DNC Services Corporation / Democratic National Committee

The IWillVote widget and code referenced on this page is licensed under the Apache License, Version 2.0 (the “License”); you may not use this widget except in compliance with the License.

You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

--

--

Cris Concepcion
DNC Tech Team

Husband, storyteller, technologist. I care very much about who you are. My opinions are my own.