Open Source Tools From the Warren for President Tech Team

Team Warren
6 min readMar 27, 2020

--

Hello from the Warren for President Tech Team. Over the past year, our team worked as hard as we could to make getting involved with Elizabeth’s campaign as easy as possible — whether it was connecting new volunteers with organizers in their area, empowering volunteers to text voters, or making finding your polling place as easy as possible.

We are so grateful for the hundreds of thousands of Warren supporters who used our tools to help our grassroots movement: Thank you.

In our work, we leaned heavily on open source technology — and want to contribute back to that community. So today we’re taking the important step of open-sourcing some of the most important projects of the Elizabeth Warren campaign for anyone to use.

Our hope is that other Democratic candidates and progressive causes will use the ideas and code we developed to run stronger campaigns and help Democrats win.

We’ll have more to say in the coming weeks on all that we did with technology on our campaign, but we wanted to share this first.

Here are the tools we’re open-sourcing:

  • Spoke — Spoke is a peer-to-peer texting platform originally developed by MoveOn, with several forks under active development. Our Spoke messaging costs were 1/32nd of the costs from our other vendor option, and in the short time we used Spoke as our primary peer-to-peer platform we saved more than $580,000 in texting costs. On Super Tuesday alone, we sent 4 million SMS messages. One of the truly incredible things about our work on Spoke is the velocity with which we were able to push out new features. Check out the repo for some of our biggest changes, including using AWS Lambda and Aurora serverless, and scaling Twilio’s Messages Services to increase capacity, among many others.
  • Pollaris, our polling location lookup tool — We wanted to enable our supporters to look up their polling locations on our website, send them reminders and updates, direct them to voting information resources, and be able to update polling locations as we received new information. While the DNC provides a polling locator interface with IWillVote.org, we wanted a polling place locator that integrated with our website and tools, so we built our own interface and API, using polling location data provided by the DNC and state democratic parties. We ended up using Pollaris heavily in the lead-up to the Iowa caucuses, as well as through Super Tuesday, and had over 100,000 polling place lookups in total.
  • Caucus App — Going into the Iowa caucuses, we wanted to give our supporters and precinct captains a way to quickly calculate delegates and report results from each precinct. There were a number of challenges with this effort: our tool had to be resilient to network issues; it needed to be easy to update without going through the App Store and Google Play process; and it had to be easy for volunteers to find and use. We eventually settled on a Progressive Web App architecture and learned a lot in the process. On Caucus Night, we collected results from the vast majority of precincts, giving our team important insight on where we stood even in absence of official results.
  • Switchboard (FE and BE) — We used a lot of the same great organizing tools that other Democratic campaigns and progressive organizations use — Mobilize America, VoteBuilder, and Reach, to name just a few. However, when we stepped back to look at our organizing program, we decided we wanted to give potential volunteers a more personal experience. For that reason, we built a piece of software that took new potential volunteers, or “hot leads”, from our online channels and assigned them to state-based volunteer leads for personal follow up calls offering ways to get involved with the campaign. As it turned out, this also ended up being a great tool for event recruitment. We’re open-sourcing it with the hope that other campaigns or organizations can further build out the volunteer onboarding experience to reduce turnaround time as much as possible between a supporter saying “I want to help” and them hearing from a person connected with the campaign. Thousands of volunteer prospects got their first outreach from the campaign via Switchboard.
  • Automated organizing email — Our Mobilization and Tech teams worked together to scale email outreach to the widest possible audience and free our incredible organizers from tedious manual tasks. For example, we set up an automated daily event invite mailing that recruited 18,000 volunteer shifts over the last four months, and an automated mailing to event hosts that onboarded thousands of event hosts.
  • Redhook — Campaigns run on data, and redhook is a tool that makes data happen. As a system, Redhook ingests web hook data and delivers it to Redshift/Civis in near real time. During the campaign Redhook experienced zero downtime — the exception being a problem due to an upstream provider. The code and configuration is simple because it solves a simple problem: moving some data around. Our intention in open sourcing it is to demonstrate that some problems campaigns face do not require vendor tools and are solved reasonably effectively and efficiently with a tiny bit of code.
  • I90 — This tool was not deployed during the campaign, but there was a need to make short links out of long complicated links moving forward. I90 does that.

Thanks again for allowing us to serve Warren supporters with the best tech and tools possible — it was a pleasure, and we couldn’t be more proud of what we were able to build together.

And if you’d like to drop us a line with any questions about our open-sourced tools, you can reach us here: tech — at — elizabethwarren.com, or open issues on the projects. If you’d like to follow the incredible Warren Tech Team into their next ventures, you can do that here:

Sienna Svob — Software Engineer — https://www.linkedin.com/in/sienna-svob

Nora Harris — Spoke Product Manager — https://www.linkedin.com/in/nora-harris/

Matteo Banerjee — Software Engineer — https://github.com/matteosb

Patrick Higgins — Software Engineer — https://github.com/higgyCodes

Jason Katz-Brown — Software Engineer — https://www.linkedin.com/in/jasonkatzbrown

Nina Vyedin — Product Manager, Organizing Technology -

https://github.com/vyedin

Colin Le — Product Manager, Website — http://linkedin.com/in/colinle

Susan Goldenblatt — Software Engineer — https://twitter.com/thatgoldblatt

Ben Weissmann — Software Engineer — https://benweissmann.com

Jon Jandoc — Senior Software Engineer — https://www.linkedin.com/in/jonjandoc

Julia Schultz — Software Engineer — https://www.linkedin.com/in/juliaschultz1

Chip Betterley — Lead Website Analyst — https://www.linkedin.com/in/cbetterley

Leah Alpert — Software Engineer — https://www.linkedin.com/in/leah-alpert/

Joe Kent — Website Tech Lead — https://twitter.com/itsjoekent

Chelsi Asulin — Software Engineer — https://www.linkedin.com/in/chelsi-asulin

Peter Stein — Software Engineer — https://www.linkedin.com/in/pjstein

Nikki Sutton — CTO — https://www.linkedin.com/in/nikkiesutton

Mike Conlow — Chief Technology Strategist — https://www.linkedin.com/in/mikeconlow

--

--

Team Warren

Official campaign account. We’re building a grassroots movement to fight for big, structural change. Join us at www.elizabethwarren.com