In late February I began working on a product that quickly became my obsession called Footwork. At it’s core a straight forward idea – a system for canvassing door to door. A system that my partner, Phil Montag, and I thought was broken. What Phil and I set off to do was analyze the system and find ways to improve it.

When I started building Footwork I thought of it as a cool project to expand my skill set. Something I could learn from and share with people who felt frustrations in the system. It has been an amazing ride over the past few months with infrastructure decisions, UI challenges, late nights programming, beta testing… the works. But Footwork has evolved into a solid foundation for the problems my partner Phil Montag and I set out to solve.

Todays problems

Political campaigns spend countless hours knocking on doors to find your support. They spend time assigning address lists to canvassers, they spend time manually entering and collecting data, and they spend time managing canvassers to ensure they hit their targets. The canvassers, on the other hand, typically bring with them a list of addresses on a clipboard. From there they go door to door and ask people if they support the candidate. It is up to the canvasser to decide what house to visit by shuffling through stacks of paper.

How we can help

Footwork aims to make things easier by allowing campaign staff and canvassers to do less work. Campaign staff import a list of address into Footwork and create a route plan for each canvasser. Canvassers then use their mobile device to visit doors and collect data. They should not have to worry about what house to visit next. They should not have to think more than a few seconds about what to do after visiting a door.

Campaign staff can track each canvasser from a web based console and see data collected in real time. This helps campaigns because they have visibility on whether or not their canvassers are visiting locations or just sitting at home faking it.

When I was building Footwork I wanted to make sure it was device agnostic. It was built as a hybrid application so it can run on the multitude of devices in the market. This is an important differentiator to one of our main competitors. Footwork also stands apart from the crowd by including a new concept called Social Canvassing. Okay I will be quite honest, I’m not sure it Social Canvassing is a term, but I claim it, if it isn’t.

Social Canvassing allows campaigns to bring awareness to their canvassing efforts on Facebook. Canvassers using Footwork can choose to enable our Facebook application. Once enabled their canvassing efforts will be broadcast into Facebook’s realtime ticker, similar to Spotify. When a Facebook friend clicks on the ticker item they are taken to a landing page for the candidate. When a canvasser finishes canvassing for the day they have the option to post a Nike Runkeeper-style map to Facebook’s timeline that shows the distance they covered. These techniques bring social awareness to canvassing, something that has a potential to double the impact a candidate has.

Technology involved

In an effort to build a product that could scale with minimal growing pains we have made a few development decisions early on that we have come to love and are continually looking at ways to build an efficient system for handling hundreds of millions of records.

Mobile App

As I said before the mobile application is built as a Hybrid app. We use HTML5/JQuery Mobile/Phonegap. This allows us to quickly create an application that works cross platform. I’ve been building for the mobile web for 2 years now. I started developing mobile web applications before tools like JQuery Mobile existed. It has begun to mature as a solid platform. Paired with Phonegap and a few performance tweaks for each device you are targeting you can squeeze a lot of it.


Our database servers run MongoDB which has worked wonders for our application. MongoDB includes geospatial indexing, which is fantastic. The PHP drivers for Mongo have worked great so far and as we begin building process workers I see good potential for scalability.


Linux running Apache and PHP 5.3 servers at Mediatemple, but are evaluating the following PaaS providers: PHPFog, Orchestra, and looking at Red Hat’s Openshift offering (pending pricing). I appreciate anyone’s input on their experiences scaling infrastructure in the cloud. Particularly if you have done so using MongoDB with replication and sharding. Making sound infrastructure choices is important to me.

What’s next

Learning, lots of learning. The best way to build is to learn everything you can about a process. I’m dead set on learning all that I can about improving our product and changing the game of political canvassing. There is still work to be done, clients to land, improvements to be made, but I’ve never been happier about something I’ve helped to create in my entire life. I feel like I know the feeling that entrepreneurs get when they are on the verge of something great.

Product Site: [Footwork]
Silicon Prairie News – Footwork app aims to reduce legwork in the political canvassing process