Tools for Voting Projects

Project Ideas

The sections below offer a few ideas and starting points for our work during the Code for Asheville Tools for Voting Hackathon, and feel free to bring your own! There are possibilities here for everyone, whether you code or not. You can help people get registered, research elected offices and candidate positions, write code, figure out how to use existing services like Facebook or Twitter to connect or inform people, help test, or just cheer people on.

Help People Get To The Polls

Many citizens face barriers just getting to their polling place. Are there ways to use simple, existing technologies like Facebook or Twitter to help people connect to rides and other voting help? Or perhaps a way to let people text to find out where in their area people are meeting to travel together. Go as high- or as low-tech as you like. For example:

Voting Buddy System

Help us build a tool that registers and matches people with other local residents to make sure everyone gets out to vote. Help someone else, or get help going to the polls.

  • Match people without transportation with people who have transportation.
  • Match people in similar areas or who have the same voting location.

Register People To Vote

The deadline for registering to vote in North Carolina is October 18. You can register anyone on-site who isn’t registered yet, or head out onto the streets. We’ll have printed forms for people to fill out and a scanner so that registrations may be submitted by email. We’ll also have resources to answer peoples’ questions about their eligibility. A few resources follow:

NC Voter Registration Website

This site has the form and general instructions. Completed forms may be mailed to the Buncombe County Board of Elections at PO Box 7468, Asheville, NC 28802; emailed; or faxed to 828-250-6262. The phone number for the Buncombe County Board of Elections is 828-250-4200.

Voter Registration Chat

This chatbot tool from Fight for the Future will check your registration and, if you need to register, fill out and mail you a form ready to submit.

Build a Voting Information Tool

The NC State Board of Elections site has lots of information, but it can be hard for an individual voter to find just information that they need. And it mostly won’t tell you about the candidates or the offices they’re seeking beyond their names. So how about mobile-friendly online tools that let you easily:

  • Find out if you’re registered
  • View a sample ballot for your precinct
  • Find out where you can vote early or on November 8
  • Find out about the races, candidates and issues. There is much more to vote on than just the presidency (actually, around 30!). What are the responsibilities of each office? Why are they important? How do they impact you?
  • Get links to candidate statements and websites and to local and national media resources on each candidate and issue

These might be implemented as several different tools or as a single comprehensive one.

To get us started, we’ve created a very simple API on Heroku (see Eric to get access to the code). It uses voter registration records from the Board of Elections TSV file for Buncombe County downloaded on 10/6/2016. We will update this with the latest file as it is published each week.

The URL is It takes 3 parameters:

  • fname – first name
  • lname – last name
  • age – age of voter

And returns a JSON array of voter registration records. At least one of fname and lname must be specified. For example:

A list of races and candidates can be found in this CSV file – we’ve thrown out everything that isn’t related to Buncombe County. We can work at the hackathon to include this information in the API.

NC State Board of Elections Site

There are a lot of resources on this site. Here are a few key ones:

  • NC Voter Lookup – This can be used interactively or via URL parameters to look up voters by name, DOB and county. It returns a page listing links to all matching records. Each such record lists all relevant jurisdictions (e.g., congressional or judicial districts), the election-day polling place, and sample ballot, plus voter details and history. Scraping this information is one way to access voter information and sample ballots.
  • Downloadable Voter Registration Data Files – Tab-separated value files of registered voter records by county, updated weekly. These offer an alternative way to access voter registration information (e.g., to identify relevant districts).
  • Data directory – this directory contains a lot of different datasets that may be of use. In particular, a list of candidates by election is here.
  • Sample ballots – we have downloaded all the sample ballots for all Buncombe County Precincts here.

This is a comprehensive voting resource that allows users to look up local elections.

Buncombe County Government Site

The Buncombe County Board of Elections site has information specific to voting in Buncombe County, including early voting sites and hours. The Buncombe County GIS voter mapping tool allows you to view municipalities, US congressional, state house and senate and county commissioner districts, as well as to look up district information by address.

Google Civic Information API

The Google Civic Information API lets developers build applications that display civic information to their users. For any U.S. residential address, you can look up who represents that address at each elected level of government. During elections, you can also look up polling places, early vote location, candidate data, and other election official information. Note: data availability varies by state; see the Data Availability section of the Data Guidelines page. It looks like NC data is only available in mid-October, but this may still be a more robust basis for building a tool than downloading data files or scraping websites.

Good To Go GSO

Code for Greensboro is also working on a voting tool that may serve as a starting point for today’s work. You can find a brief description of the project from the CityCampNC hackathon a couple weeks ago, along with links to the Github repositories for the API and front end.

Local Media Sites

Media are an invaluable source of information about candidates and elections. They often offer election-focused sections like this one from the Asheville Citizen-Times and voting guides like this one for the primary from Mountain Xpress. Other local media include WLOS, Carolina Public Press, and the Asheville Blade. State news organizations like the Raleigh News & Observer may also be helpful, in addition to national news organizations.

Referendum Plotting Tool

We have a 3-part upcoming referendum that will shape the future of Asheville significantly. This referendum includes capital improvements to Transportation and Infrastructure, Parks and Recreation, and Affordable Housing. We can build a tool that will show Asheville residents where and how the funds will impact our community by mapping the referendum focus areas.

A basic version of this is here.

Process and Visualize the HACA Data

The Housing Authority has offered Code for Asheville year-over-year demographic data in PDF form. The task is to process this data into a spreadsheet, and format it to be visualized, spotting trends over time, so we can present it to the community. This is a collaborative project with the Economic Justice Workgroup. This project shouldn’t require any coding skills, but will require some thought on how to properly format the data to best plot it in a visualization in order to identify trends over time.

The raw data can be accessed here.