Case Study: OpenField

Saving democracy, one conversation at a time.

San Francisco, CA, USA
Ongoing project
Mobile view of the solution
Today, it is all about making connections easier, faster, and longer-lasting. OpenField provides the essential infrastructure needed to facilitate authentic connections with anyone, anywhere, at any time.

From putting together ballot signatures, to running for office, OpenField enables communities and people to build transformational power at scale with accessible data at your fingertips.

Quote

“Uplift has been essential to our ability to say Yes to ambitious projects.”

“Knowing that we have a reliable bench of experienced and easy to work with engineers and developers gives us the confidence we need to stretch our goals, accelerate our timelines, and keep our commitments to our clients without straining our budget.”

Paul KadzielskiChief of Staff, OpenField

Client Goal

OpenField’s mission is to create stronger connections for its users by bringing people together. If you have ever organized a large group of people for a task far away but still stayed connected, then chances are it wasn't easy. Thanks to OpenField's toolset - including its admin page where organizers can organize their canvassers and edit pre-written questionnaires - it is now easy. OpenField's software helped drive some key results in the 2020 election cycle that would not have been possible without the Uplift team's help.

Back at the beginning of 2020, the founding members of OpenField recognized that their Web App would need improvements to meet its ultimate goal. The original version of this app was robust, but it had some performance issues and a lot of manual labor involved in processing larger files from clients, which led to wasted time and money. With Uplift’s help, we broke down these problems and narrowed them down to 3 top priorities:

  • Designing a complex product that will satisfy both user and business needs.
  • Gathering and processing lots of data.
  • Improving performance so we can reach more people in a shorter amount of time.
0+
Cross-platform components that work across web and mobile
0%
Reduction in app engineering time
0 weeks
Between production deployment down from 6 months

The task at hand: process & execution

To start out, we analyzed our customer's priorities and their pain points. This gave us clarity on how to proceed because of the limitations they were currently experiencing with their product. For example, they started off with a functional Minimum Viable Product (MVP) that had some scalability issues. To fix this, we migrated the app from being a single-user app over to a multi-user collaborative platform. Other concerns addressed during development included ensuring flexibility (having both simple features yet powerful), and improving the user experience in general. To meet deadlines which had been set six months before the 2020 election, we organized our goals based on importance and urgency. As such, the necessary functions that the project needed to satisfy were centered around the following:

  • We needed to effectively manage time, and find a more productive way to import larger files and sheets from clients.
  • Define a process to give the OpenField development team a path forward, allowing them to easily migrate data.
  • Implement a user-friendly interface that offers offline capability and enhanced workflow with plenty of room for growth.
  • Improve the admin page with a centrally organized map view for setting up campaigns, editing scripts, and lists of contacts.
  • Increase usability and decrease page load time to keep the app competitive.

To follow up on everyone’s progress and move quickly, we set up weekly meetings and augmented those with async tools such as Slack and Trello. With a larger team at hand, we were able to establish a workflow and maintain continuous communication. When we reached each milestone, we tracked it in the Project Management software and moved on to the next objective of the project. Over the next 6 months, using the knowledge gained in the first phase, our team redeveloped the platform from the ground up. Working alongside Ari allowed a smooth transition for their in-house team to test, validate and ultimately use our work.

The backbone of the site is in Django, a python framework.
Front-end used a lot of JavaScript, mainly jQuery.
Redis is used to cache parts of the site and improve page load time.
Web servers are hosted on Heroku servers with autoscaling.
Data stored in a PostgreSQL database.
Progressive Web App for offline support and caching.

The Solution

The team made great contributions to the front-end, to enhance the user experience and functionality. Python and Django were used for most parts of the web app; areas of focus were: improving the admin panel, fixing bugs of all sizes, and enhancing the organizer's analytics tools. One significant change was the addition of a page where you can view an entire history of conversations between a canvasser and point of contact.

Mobile view of the solution
Another key issue was the manual entry of information. To solve this, we included a CSV importer, to process a spreadsheet-like file which enables transitioning workflows from Excel into the web app with no manual mapping. This helped Ari spend less time importing information manually for clients, and more time to focus on her business.

The app could now handle a larger amount of users at the same time and manage their data reliably. As a bonus of freeing up data entry time, the engineering team improved page loading time and site performance - thus enabling OpenField to use fewer resources and lighter-weight web servers - leading to reduced monthly costs on infrastructure.

Desktop view of the solution
One of the most substantial implementations was to create a progressive web app (PWA) for parts of the website that needed to function offline. With this, it became possible for us to introduce new features with ease, which enhanced OpenField’s productivity and efficiency. By providing such an easy-to-use app that allowed people to form groups, communicate, and stay connected no matter where they are or what they were doing - we were able to provide a solid foundation from which users could pursue relationships.
Due to the great collaboration between Ari and the team, we managed to get a deep understanding of the business goal and therefore combine a complex data structure with a user-friendly design.

Modern engineering and superior UX design came together with a dash of practical business knowledge, leading us to create a customized solution with:

  • 50% reduction in app engineering time for future features and fixes.
  • 1-2 weeks between production deployment, down from 6 months.
  • 5+ cross-platform components built to work across both web and native mobile.
  • Unified styles, interaction and information handling.
  • Reduced the overall lines of code by 50%, while increasing uptime by 10,000%
  • Achieve an NPS of 93% and 100% uptime during the 2022 election cycle!

Outcome - future perspective

Working with OpenField was an excellent experience, and we look forward to continuing the ongoing relationship and supporting them further in their growth. During our collaboration, we gave OpenField a solid footing technically and delivered core features. The focus and dedication shown by both parties resulted in excellent collaboration and a clear set of goals that drove towards success even while working within a tight timeline. We were able to bring industry best practices and engineering experience to deliver on the technical and business decisions, and drive outcomes.

What sets OpenField apart from the rest is how they empower organizers, who often suffer from limited time and resources, to lead large-scale movements by providing them with easily accessible campaign management tools. They offer a variety of features for organizers that ensure easy communication with their voters and effective management of campaign-related tasks. There aren't many other tools available like this one - making OpenField truly unique in its ability to facilitate change on a national level.