GOTV Organizing Technology: Match Voters Needing a Ride with Volunteer Drivers

Jason Katz-Brown
3 min readOct 23, 2020

by Maya Handa & Jason Katz-Brown

We were coming up on Get Out The Vote, and the Mondaire for Congress campaign was facing a common issue: we had lots of dedicated Mondaire voters who didn’t have the means to make it to the polls. We needed to find them a driver!

On the other end, we had several incredible volunteers who really wanted to be of assistance driving people to the polls! We needed to find them some voters to chauffeur!

This is an easy problem to solve when you have two drivers and two voters. But by the end of early voting, we had tens of drivers and even more voters, and we didn’t want to start copy-and-pasting and playing-“Concentration”-with-pins on Google Maps?! We needed a scalable process!

We created a Google Sheet and turned to Jason, who added some logic in Google Apps Script editor that allows you to input a list of drivers and a list of voters, and figures out the driver nearest to each voter!

Given a list of volunteer drivers (in one tab) and a list of voters needing rides (in another tab), this sheet figures out the closest volunteer driver to each voter:

Find Nearest Driver Example Google Sheet

Look at that “Nearest driver” column! That’s the driver who lives geographically closest to where the voter lives! We can give them a call first to see what’s good.

The other tab lists all the volunteer drivers:

That’s it—a tab with all the drivers, a tab with all the voters, and the “Nearest driver” for each voter will be populated automatically.

The sheets have more informational columns that organizers can look at to determine the right match: the day the voter wants to vote (the earlier the better hey!), the days the driver is able to volunteer, and status of outreach to the voter. We (the Mondaire campaign) thought about implementing a more complicated process that would take into account driver availability, times of day, etc. In the end, after using v1 of this spreadsheet during early voting, we found that drivers really wanted to be helpful, so they would often make themselves available, find a substitute, or coordinate a different time with the voter directly — we didn’t need that more complicated feature after all.

You can make a copy of the sheet and edit it/add columns as you please. All the functionality should carry over to your copy; let us know if something doesn’t work as intended.

First person to pedicab someone to the polls wins!

Appendix: technical details

Behind the scenes, a custom Google Apps Script uses Google Maps to geocode each driver and each voter’s address into latitude, longitude coordinates and stores them into hidden columns. The “Nearest driver” column computes the distance between the voter’s coordinates and each driver’s coordinates and returns the nearest driver as the crow flies. You can inspect the script by choosing Tools→Script editor from the Sheets menu.

You can do lots of cool things with Google Apps Scripts in a Google Sheet! Here are some more example tutorials from Google. It’s especially handy that using Google Maps Geocoding API from Google Apps Script is one of the only ways to use Google Maps Geocoding in bulk without an API key.

--

--