Request for Proposal: Project Eagle Eye
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.
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.
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.
OPEN will consider proposals with budgets upto USD 10,000
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 email@example.com and put “Proposal: Project Eagle Eye" in the subject line
Chrome: Version 70+
Edge: Version 17+
Firefox: Version 62+
Safari: Version 11+
Internet Explorer: Version 11+
Scrape data from four data sources.
Speakout and ControlShift Labs (CSL) -- two campaigning platforms with public JSON APIs
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
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
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)
Search by keywords
(Optional) Associated social media posts
Filter by date range
Auth0 based login system