Create your own voter contact app using Glide

by Caitlin Huxley

Voter Contact is important!

The goal of your voter outreach effort is to build relationships with the voters themselves, and create a connection. You want them to remember your name on elections day, and studies tell us that you'll need 7 or more connections with them before that happens. Too many small campaigns end up walking with paper walkbooks. If your campaign is too small for a traditional walk app, you certainly don't have the time or volunteer power to add every voter back in to your spreadsheets after your walks.

You need an app. If you can't buy one, now you can make one!

Want to see what it will look like when you're done? Check it out: https://example-voter-contact.glideapp.io/

Voter Contact App | Map View
Voter Contact App | Voter View
Voter Contact App | Survey Voters

Map View

Filter results by precinct to decide on your own walkbook, or use the search bar to find a specific street name, address, or voter.

Voter Details

Completely customizable list of voter records, with functionality for 1-button contacts (phone, text, and email), and a list of other voters in the Household.

Survey A Voter

Add Drop-down menus, sliders, or text entry fields to capture support, yard sign locations, emails, and a custom notes field.

 

Requirements to get started:

  • Access to your Voter Data (this tutorial uses GOP DataCenter)
  • Excel Skills enough to manipulate that data
  • A Glide account (can be made for free)
  • A little bit of tech savviness us use their system.

Limitations:

  • Glide: Glide is free to use for up to 3 copies of an app, with about 450 voters each. If you don't mind changing out your data each time you finish a walkbook, then there should be no issue. But, if you want a little more flexibility, you can go up to the $25/month paid version, and that number jumps up to 5 copies of the app, with almost 5,000 voters each.

  • Mapbox: The map viewer tool inside the app itself is limited to 10,000 sets of lat/long coordinates. It will not work with addresses alone, and therefore the data you use MUST have latitude and longitude coordinates. There are plenty of resources online for finding the geo coordinates, but lat-long coordinates are available in GOP Datacenter, and for those without access, a service like GeoCod.io will give you 2500 free lookups per day.


Step 1: Gather & Format Your Voter Data

As mentioned above, this tutorial uses GOP datacenter. If you do not have access to GOP DataCenter, because you are running in a non-partisan race or for some other reason, you can usually get your voter data from the state or county board of elections in your area. This is usually free, but sometimes incurs a small cost.

For ease of use, your data should have the following headers, named exactly like this:

  • StateVoterId
  • Name
  • Address
  • Phone
  • CalculatedParty
  • PrecinctName
  • LatLong

Chances are that your data will not be in this format when you receive it from the Board of Elections, or download it from GOP DataCenter. If you import data that has extra columns into Glide, or if your columns are named incorrectly, you will have to remap parts of the app, and that is quite a pain before you've become familiar with how Glide works.


Step 2: Signing up for Glide

Head over to go.glideapps.com and create yourself an account.

Enter your email address, or select 'Sign in with Google'. If this is your first time here, you'll see a message saying you don't have an account yet. Just click "Create Account" and on the next few screens, enter data about yourself.

When you get to the "What are you looking to build?" screen, just click Skip in the bottom right. On "Connect your data" hit skip again. It will automatically open a sample project for you to play around with, and I recommend messing around with it a bit, just to get a hang of their system.


Step 3: Creating the App

Full disclosure. This app took me about 20 hours over 4 days to make, and tweak until I got exactly to the state that I felt it was completed. Following this tutorial, you can probably cut that time down to a few hours, and reproduce its' bare bones functionality. If you're tech savvy, and are already familiar with Glide you might be able to do it in an afternoon.

If you want to skip this step, and go directly to uploading your data, I've created a template you can use for free here: https://votercontact-template-2fq.glideapp.io/dl/d8fc49


Part 1: Create a new project

When you're ready to get started, click the 3x3 square of white dots in the top left to go to the home screen, and click on New Project.

Create a New Project | Glide

Name your project and be sure to select Glide App as your project type. The Pages have a few features not available to Apps, but is missing on crucial one: the ability to view the map full screen. For me, that's a deal breaker - but if you want to just make a phone call or group texting app, then a Page would probably work better because of it's web capabilities.

One of the great things about Glide is it can work directly from a Google Sheet, or an Airtable. For our purposes though, a Glide Table is going to work fine. Select it, and click "Create Project".


Part 2: Upload your data

A fake project will be created for you. At the top of the screen, you'll see three icons:

Click on the spreadsheet icon on the left. You'll see a few spreadsheets on the left side of the screen. We don't need them. Right-click and delete them all. Then click the + symbol, and add your voter file. Once it populates your data, on the right hand of the screen you'll see another + symbol, allowing you to create new columns. For this tutorial, I'll just do disposition and support, but you should create a new column for each data-point you'd like to collect. 
We'll probably want our volunteers to be able to select options from a drop down menu. So create another new table, name it Disposition, and add a new row for each item in your drop-down. Repeat the process for Support, or any other drop-down menus you want to create.


Part 3: Add a map component

Once done, navigate back to layout view:
On the right hand side here you can see the General tab with some pre-populated info.
Change the Source to your VoterList, Label to something more reasonable, like Voter Map, and select the Map style. Then click Edit Map. You'll see that it pre-populates the Content for you. But you should change them to match the image below. Set Address to "LatLong", Title to "Name", Details to "Address", unselect Image, and set Caption to CalculatedParty.
I personally like the search bar, but if you don't, you can easily turn it off by unchecking the box under options tab on the right. Also on this screen you can enable to filter, I like to set mine to precinct. But advanced users should feel free to customize it to their liking.
I also highly recommend unchecking the "Allow users to add items" because of the problems volunteers can cause to your database.
We're almost done!
Now in the center of the screen, you'll see a preview of your app. Click one of the voters map pins, and their name will pop up on the bottom of the phone.


Part 4: Edit the voter details screen

Click that popup, and it will open the details screen. By default this will show all the details about the voter. That's pretty convenient, but feel free to delete anything you don't want volunteers to see. You can do this from the Component menu on the lower left side of the screen.

Once you've trimmed down the list, click the white + button again to add a new component and add a Button
Click the Button from the components list on the left, and you'll see a new screen pop up on the right: Rename the label to something like "Survey Voter", and click the Action to reselect the action you'd like the button to perform.
Select "Show Edit Screen", and leave the defaults.


Part 5: Add a survey

Then click the button in the preview screen in the center. This will open the Edit Screen. Now, we obviously don't want our volunteers to edit the voters info, so delete all the default components, and add new ones for each of the data points you'd like to collect. You can experiment with the different types of selectors, but for this you'll probably want "Choice".
Select each of your new Choice menus. Change "Write to" to your new columns, Disposition or Support. Set Source to the table you created earlier with the drop down options, and Set values to Name. All other defaults should be fine. See the Image below:
Believe it or not, that's it! Select one of the options from the drop down menus, hit Done, and check your table view. You'll see that the Disposition and Support columns for your voter have been updated.


Part 6: Remove surveyed voters

But if you go back to the app, you'll see the voter didn't disappear. If you want them to stop appearing in the map screen once you've surveyed them, there's a quick fix. Head back to the main preview screen, so you can see your map. Click on the right side to "Edit Map" once more, and under options you'll see a "Filter Data" option. Click it and add the following Filter: "Disposition" is "Empty". and ta da! Your surveyed voter is gone!


Part 7: Extra Features

In this section we'll run through a number of small features that I highly recommend adding.

If you don't want to go through the trouble of configuring them yourself, all the features here, and some more, including a video tutorial and some in-app training are also bundled in to the template I have made available for use here: https://votercontact-template-2fq.glideapp.io/dl/d8fc49

Phones Calls & Texts:

If you want volunteers to be able to make calls or texts, head back to the Voter Details screen delete the default phone, click the white + button to add a new component, and add a new Phone Button. Make sure the column is set to "Phone" on the right hand side, and keep the check marks "Allow phone calls" and "Allow text messages" checked.

Send Emails:
While still on the Voter Details screen, click the white + button to add a new component. This time select Email Button, and change the "To" field to the Email column, if you made on earlier. If not, now is a perfect time. 
Add a new action on the right hand side of the screen, and configure it to Compose Email. Make sure to put your campaign address in the BCC field. You're going to want a copy of all the emails your volunteers send for quality control.
This will automatically appear for volunteers as soon as an email is entered, so be sure to include an email with your data, or enable an "Email Entry" button to your voter survey screen.

Voter Grouping by Household:
Back on the Voter Details screen, add a new component, and select "Inline List", from the Lists submenu.
On the right hand side, name the Title something like "Voters in Household", and make sure the source is the VotersList table.
This will show you a list of all the voters in your table, but don't worry, we're about to trim it down. Head over to Options (next to General at the top of the Right hand side menu). Then filter your data down to just those voters whose Address is equal to the Address on this screen.
Looking good!

Completed Voters Menu Item:
Sometimes mistakes are made, and with most voter contact apps, there's no way to undo your error. There's also no easy way to follow up with the folks your team IDed as volunteers, or folks who were not home. For your convenience, you can add additional copies of your Voter Map screen with new filter criteria, cutting down the visible list on that tab to only the people that meet a certain requirement. I'll run through one option, but plenty of others exist.
 
So go ahead and duplicate your Voter Map screen.
Rename the Label to something like "Surveyed Voters", and under "Edit Map", then Options, you can create a new filter to view the Data only when the Disposition is Not Empty.
Your middle preview screen should now show nobody. But mark a few voters dispositions, and you'll see them added to this screen.
A neat thing here is you can also restrict WHO can see any given screen under the Options tab Visibility section, so just your admins can view it.


Step 4: Publish and share the link

Give your volunteers the link to your app, to have them make calls and knock on doors. But before they can use it, you'll have to add their names and email addresses to the Users Table. If you hit the gear icon at the top middle of the screen, and navigate to the "Users and authentication" right hand option, you can also toggle the options for Allowing users to sign in with Google or Allow Visitors to Request Access. Then volunteers can enter their own email, and click the Request Access button in the app, and their names will automatically appear under the "Access Requests" tab in the Users Table:

Once all the voters are gone from the list, or when you're ready, you can navigate to the Data Editor menu on the top of the screen, right click the VoterList, and click export. Select the columns you want, and click Export. You'll get a download notification automatically.

Congrats! You are now the master of your own data, all for less than $25/month.