PGCon2014 - 20140704

PGCon 2014
The PostgreSQL Conference

Lacey Powers
Day Talks - Day 2 - Fri May 23 - 2014-05-23
Room Monpetit 202
Start time 14:00
Duration 00:45
ID 721
Event type Lecture
Track Case Studies
Language used for presentation English

Mobile Canvassing and PostgreSQL

At Moonshadow Mobile, we visualize geospatial data in a custom geospatial engine and analysis framework inside a browser. This is coupled with Ground Game, a mobile canvassing solution that lets managers and canvassers easily mount a campaign. At the heart of this solution we need a featureful database with a high level of data integrity to quickly store and retrieve customer data, all of which PostgreSQL provides.

Our Ground Game mobile canvassing solution is available for iDevices, Android devices, and any device with a good mobile web browser.Campaign managers assign walking lists and questionnaires to canvassers in the field from our web application, who receive the data on their mobile devices and fill out questionnaires while going door-to-door. Data can be collected even if no connection is available and the data is synced as soon as a wifi or mobile data is available. On a typical day hundreds of canvassers around the country upload thousands of questionnaires. Our base data consists of the voter files that are collected from states and counties, augmented with psychographic information from commercial sources. At any time voter files,phone numbers,addresses,and emails are updated. Clients augment our data with their own information about donations and membership information, along with mobile canvassing. All these data streams need to be processed without causing any downtime for the campaign managers and the canvassers in the field.PostgreSQL plays a very important role in our technology stack. All canvassing data,walking lists,canvassing users,assignments,and questionnaires are stored in PostgreSQL. We also use PostGIS for the creation of the data and the assignment of voters to district zones.In this talk, I will give an overview of our architecture, and focus on how PostgreSQL has helped us deliver our product. These reasons include custom features of PostgreSQL such as bytea,json,and custom types, addon modules such as crypto and ltree,and custom functions in languages such as plperlu,along with WAL replication,hot backups,all of which give us security,peace of mind,and the ability to more rapidly develop features. Finally, we look to the future and eagerly await integrating new and additional PostgreSQL features into our workflow.