Request for Proposal: Project Eagle Eye

 

Summary

Project Eagle Eye is a dashboard to help OPEN track the campaigns, social engagement and public information about the different organisations we work with. It will provide us with a birds eye view of the campaigns the groups are running, and how people interact with our groups socially. This will allow us to better spot learning opportunity, and spread information about campaigns that are working well for other groups.

One of the biggest advantages will be to help us spot campaigns which OPEN staff have limited visibility of e.g. campaigns that don’t go full list, or from the bigger organisations where it’s difficult to track all the campaigns.

The MVP contains three main components:

  • Data Scraper -- Get social engagement data from the public pages/twitter accounts with number of comments, likes, and other relevant information.

  • Admin -- An admin interface to allow tagging of above data. Try to infer/suggest tags based on content.

  • Dashboard -- A dashboard to allow sorting, searching, charting the above tagged and compiled data.


Request For Proposal

Proposals accepted on a rolling basis until: Sunday, March 3rd, 2019

We are looking for a Full Stack Developer to create and launch the MVP for Project Eagle Eye.


Scope Of Work

  • For the scope of the contract, meet at least twice a week with the OPEN Tech Team to report progress, and demo work in progress.

  • Define and finalize the architecture for Project Eagle Eye.

  • Define the stack, tools, maintenance and deployment process.

  • Create mockups, and define UX interactions for different parts of the UI.

  • Work collaboratively with our team to finalize features, review code, testing, and deployment.

  • Train our team members to use the tool.


Total capacity

You should have enough development capacity to be able to get an MVP up and running (having completed any changes based on feedback) within 8-10 weeks from the start of the contract. You should be available for at least two 60 mins calls (per week) during the day time (9 AM - 6 PM IST) in India. Work can otherwise be completed at any time of day, on any day.


Organization Overview

OPEN is a network of 20 organisations, each an independent, non-profit, nationally-based organisation working on multiple issues, but all sharing a common set of values and a general strategic orientation. Groups in the network tend to work on human rights, women's rights, climate change, economic fairness, strengthening democracy, and empowering individual people to lift their voices to make change in their community and their country.


We all conduct this activism using largely digital tools, like outreach on email and social media, common tactics like online petitions, calls to parliament, organising offline protests and actions, and volunteering in our communities. Read more about the network and our core organising DNA.


Budget

OPEN will consider proposals with budgets upto USD 10,000


Proposal Requirements

Background: Name, title and contact information of primary contact. A brief description of prior completed relevant projects. If you’re a firm, background of the people who will work on the project.

Approach: Describe your strategies for embedding with a software team, reliably driving tasks to completion, working with Git and GitHub, and working in an all-remote, Slack-centric working environment.

Experience: Proposals should include description of relevant experience, including preferences for programming language/framework.

Direction: Proposals should include how you would like to handle the direction of the UI design, UX interactions and how much support you would like from us to work on different parts of the system.

Schedule and Timeline: Please outline a high level timeline for your availability, describe how many total hours it would take to complete the project, and break down your availability into hours / week, from project start through launch.

Cost: Include an estimate for hourly rate and total available hours in your proposal.

Submission: Submit to tech@the-open.net and put “Proposal: Project Eagle Eye" in the subject line


Component Specs


Browser Support

  • Chrome: Version 70+

  • Edge: Version 17+

  • Firefox: Version 62+

  • Safari: Version 11+

  • Internet Explorer: Version 11+


Data Scraper

  • Scrape data from four data sources.

  • Speakout and ControlShift Labs (CSL) -- two campaigning platforms with public JSON APIs

    • Launch date

    • Signature count

    • Petition title, description, image

    • Metadata like tags/categories

    • Target name (i.e. asking the government to do something, or a corporation)

  • Facebook and Twitter public account

    • Content of new tweets, facebook posts

    • Follow and scrape links of Speakout/CSL if in content

    • Optional: replies, shares, likes, hashtags, retweets

  • Follow links in Facebook posts and Tweets to find newly launched campaigns to track on Speakout/CSL

  • Run the above job for up to 20 different accounts, twice a day, working around any API limits.

  • Store the above data in a database

  • (Optional) Infer tags from content


Admin Interface

Tag scraped content

  • Show a list of recently scraped content

  • Manage tags - CRUD

  • Create tag-to-tag relationships: i.e. "a campaign tagged 'Umwelt' in CSL gets the PEE tag 'environment'"

  • Auth0 based login system

  • Manage the list of organisations' to track

    • Configure links for their other data sources like their Speakout or CSL instance

    • Configure an organisation's Twitter and Facebook URLs


Dashboard

  • Display interactive charts

    • Group/filter data by: organisation(s), tag(s), data source, target type

    • Standard chart features (zoom in to specific date range, etc)

    • (Optional) Charts annotated with images/descriptions from campaigns/social posts

    • (Optional) Admins can create new charts

  • Listings page of campaigns: Display campaigns in a simple index showing thumbnail, title, date, tags, signature count, description, and a link to the campaign itself

    • Filter by tag (issue tag, target type)

      • Autocomplete

    • Search by keywords

      • Title

      • Description

      • Organisation

      • (Optional) Associated social media posts

    • Filter by date range

  • Auth0 based login system