Research Projects for 2017 / 2018

Machine Learning - Dynamic Aggregation of Region

Voterpros relies on data aggregated by a partner company from public records kept by the various Secretaries of State throughout the country. These records are neither homogenous nor particularly clean. In this project you will be performing analysis on this data to attempt find reliable, mechanical (probabilistic, not deterministic) answers to the following questions:

  1. For a given race, what are the subset of fields in the dataset required to uniquely identify the voters in that district?
  2. For a given set of fields, what is the likelihood that this set is valid? That is, that it has an acceptably low level of incorrect input data (this will almost never be 0)
  3. For the previous question, what is a rational level of data quality to expect?

Note - for certain teams it may make sense to pair this together with the algorithmic project

Skills Needed
  • Data science
  • Statistics
  • Machine Learning
  • Python or Java
  • AWS Account and basic understanding
  • Github Account and basic understanding

Algorithmic - Structuring Data for Rapid Access

Use your template as your guide to the general content and quantity of copy you'll need for each page of your design. For example, does your cover require a main headline and/or Slogan? Write it, referring to our section on message development for guidance. Does your template further include a candidate statement, a short bio, long bio, and/or several blocks of copy or bullet points detailing your experience and/or agenda? Write them, and try to stick to that rough amount of copy so it all fits.

The data described in the Machine Learning project above comes in a psuedo-relational format. Each state has a different set of fields available, and are not normalized in any way. While queries are executed via an API, the query submitted will look familiar to anyone with a relational database background as a where clause.

For boring technical reasons, our data provider is more capable of responding to a few large queries against their data than lots of little queries; and those queries are too slow for our website requirements. In this project, you will design a data structure usable for single rapid query via the website (using AWS DynamoDB as storage) and the algorithm necessary to convert the query results from our provider into that structure.

Note - for certain teams it may make sense to pair this together with the aggregation project

Skills Needed
  • Algorithms and Data Structures
  • Relational Databases
  • NoSQL Databases
  • Python or Java
  • AWS Account and basic understanding
  • Github Account and basic understanding

Web I - Audience Builder Workflow

A key portion of the Voterpros website is the Audience Builder where a candidate can explore the ideal combination of cost and reach for their message. For such an important piece of the site we want the user experience to be simple and intuitive - even for people whose main life experiences are not technical in nature. Think of this as the Nest thermostat for candidate. In this project you'll analyze the current Audience Builder workflow, propose a new workflow (either similar or radically different) and then implement it.

Note - for certain teams it may make sense to pair this together with the UI Analysis project

Skills Needed
  • Visual Design
  • User experience (UX)
  • HTML/CSS/JS - expecially Angular2
  • REST client
  • AWS Account and basic understanding
  • Github Account and basic understanding

Web II - Dynamic Designer Integration

Voterpros has a large quantity of available templates that can be personalized for a given candidate's use in their campaign. Currently the process of taking a design template and applying the candidate's own copy and images is a manual process. In this project you will develop an algorithm that is able to apply the resources supplied by the candidate directly to the template and ideally show that in real or near-real time. This workflow may include both the front and back end portions (html/css/js for the front, python for the back if realtime or python/java if in batch) or just the backend, depending on the team.

Note - for certain teams it may make sense to pair this together with the UI Analysis project

Skills Needed
  • User experience (UX)
  • HTML/CSS/JS - expecially Angular2
  • Python/Java
  • PDF construction
  • AWS Account and basic understanding
  • Github Account and basic understanding

Web III - User Interface Analysis

A common job in the world of website design is performing a User Interface Analysis. In this project you will be responsible for recruiting a cohort of people to serve as users and have them work their way through the Voterpros website. You will design a questionnaire and use other available analysis tools to find pain points and opportunities in the current design. In the end you will deliver a report describing your findings and making recommendations sorted in cost/value priority order.

Note - for certain teams it may make sense to pair this together with the workflow or designer projects

Skills Needed
  • User experience (UX)
  • Research and Analysis
  • Statistics
  • English language writing
  • Github Account and basic understanding