Winning an election, one line of code at a time

Bruno de Carvalho
Git out the vote
Published in
4 min readAug 24, 2016

When I tell this story, I usually start with the question:

“How much do you know about caucuses?”

Caucuses are one of the two types of primary voting systems, in which voters meet in person at a specific time in large precincts (schools, churches, and other community centers) and cast their vote openly.

Don’t worry, we’re not going to dive that much further into the gory details. This story is about how a mobile app we built helped us win that night, and how that app came to be.

Reporter, the Iowa caucus app

Caucuses are a time-consuming, convoluted process that takes a lot of focus on details and attention to what’s happening in the room, two things that are hard to come by after a couple of hours of shouting and people being moved around.

Veteran precinct captains, volunteers for the campaigns that persuade people to vote but also hold the state party accountable for accurate results, are used to this exercise but it can easily become overwhelming for novice volunteers.

After some thinking about how we could use technology to simplify this process for both supporters and volunteers on the ground, we came up with an idea to build a mobile app that would:

  • First and foremost, help precinct captains stay on top of what’s happening by helping them with the math — as demonstrated by this brief document by the Iowa Democratic Party, this can get tricky with so many edge cases
  • Provide real-time recommendations on what to do, such as how many more voters the captains need to persuade in order to obtain more delegates
  • Settle disputes on mathematical differences by showing a full math breakdown, highlighting the rules (and exceptions) used
  • Allow for quick submission of help requests through the app — disagreements or disruptive events are common
Reporter, the Iowa caucus app, running on Android and iOS.

By having this app figure out the math and even offer hints on what to do, we would drastically reduce the cognitive overload on precinct captains and make the whole process far smoother, while also reducing the margin of human error.

Being ahead of the curve

One of my favorite parts of this whole project, however, was something most people never saw or even knew existed.

Whenever it had connectivity (which isn’t always a sure thing in all caucus locations!) the app would send data about the current state of the caucus to our servers.

Nat and I, preparing for the big moment.

Instead of having to wait upwards of 3 hours or longer for the results to be reported to the Iowa Democratic Party, we had near real time results for the majority of precincts. These real-time results were used by the analytics team which is responsible for monitoring the results, investigating discrepancies and keeping leadership informed.

The election night

On the night of the election almost 1000 people used our app, allowing us to collect reporting data in the majority of the 1681 precincts.

By having a large number of precinct captains use our mobile app, we were able to identify and triage issues a lot faster than in previous cycles.

In the end, while everyone had to wait for the press for the final official results, we already knew internally that we had won.

As for the technology, everything worked flawlessly. I’m never going to forget when Robby, the campaign manager, came to our little Tech corner with the most candid smile on his face and said “It’s all working!”

On a race that close, you know every little thing matters.

Wrapping up before moving on to Nevada.

Come help win this election

Reporter is just the tip of the iceberg when it comes to projects we’ve built that have significantly impacted this election.

At the campaign we build technology that ranges from low level infrastructure and scaling tools for ourselves, all the way up to mobile apps that will forever change the landscape of voter engagement, such as our Hillary 2016 app.

Ready to become part of this incredible adventure? Let’s talk.

--

--