MoveOn.org Civic Action and MoveOn.org Political Action
Request for Proposals
Project Title: Community Manager for the Spoke project
Proposals accepted on a rolling basis until: Friday, April 26, 2019
Project Description: Peer-to-peer textbanking emerged in 2016 as a critical volunteer activity and engagement tool, and in 2017, MoveOn picked up ownership of a peer-to-peer textbanking system called Spoke from developers working with the Bernie Sanders campaign. In 2017, MoveOn implemented architectural upgrades to Spoke, launched the system for MoveOn internal use, and open sourced Spoke. MoveOn scaled our use of Spoke to election levels in 2018, sending 50MM SMS messages, millions of messages per day, with hundreds of simultaneous texter volunteers. More about the project can be found here. Since 2017, many other groups have started using Spoke, and there is an active developer community, anchored in the Progressive Coders Network Slack. MoveOn has a small but mighty tech team that can’t always keep up with Spoke pull requests and requests for architecture and feature discussions. MoveOn’s goal is to ensure that the community can sustain and be sustained by Spoke development going forward without MoveOn bottlenecking development, while also ensuring a baseline level of system stability. More detailed context on MoveOn’s Spoke goals can be found here.
Request for Proposal: MoveOn is seeking a part-time Spoke Community Manager who will share codebase ownership, manage pull requests, answer questions in Slack, set up and manage community QA processes, and help progressive organizations and electoral campaigns troubleshoot. In particular, we see QA as a huge opportunity for improvement and a low-bar way of channeling technical volunteer interest into meaningful work. Running meaningful QA processes takes significant management work, which the Community Manager can bootstrap.
Scope of Work
- Learn how to use Spoke as a texter, text message recipient, and campaign manager.
- Set up a local Spoke development environment and learn how to help others set up and troubleshoot their environments.
- Familiarize yourself with the Spoke codebase, including front-end React codebase, back-end Node.js server codebase, async worker tasks, data model, and the postgres database.
- Familiarize yourself with the Spoke issue and pull request backlog, and meet with MoveOn tech team members for onboarding into Spoke context and history.
- Familiarize yourself with the Spoke community: the organizations represented, the individuals using Spoke, the individuals contributing to Spoke, and the communication dynamics of the #spoke Slack channel in the Progressive Coders Network.
- Act as a community-facing release manager for Spoke, defining Git branching, merging, tagging, and versioning processes for Spoke. Fluency with Git and Github is a requirement for this role, where “fluency” is defined as: can handle branching, merging, and the occasional rebase.
- Define and propose a process for managing, prioritizing, reviewing, providing feedback on, and approving incoming pull requests, as well as bringing mindful access to community members to the Spoke github project. Work with MoveOn tech team members to get signoff and the Spoke community on this process, and then roll out the process to the community. This process will require either familiarity with the codebase, React and Node.js frameworks, and design patterns used in Spoke OR an effective strategy for asking questions about the impact of features, tradeoffs involved in changes. Both engineers and assertive project managers could successfully own this work.
- Define and propose a process for QA’ing new Spoke changes and organizing changesets into releases. This process should include identifying and documenting test cases and creating volunteer opportunities for testing. Work with MoveOn tech team members to get signoff on this process, and then roll out the process to the community.
- Implement MoveOn equity goals for the Spoke community, focusing on welcoming and including underrepresented members of the progressive tech community. Work with MoveOn tech team members to get signoff on this process, and then roll out the process to the community.
- Hold regular office hours at least twice a month via video conference with the Spoke community to answer questions about Spoke and help debug.
- Meet once a week with a MoveOn tech team liaison to propose ideas, get approval, and report on the status of community management work.
Total Capacity: Candidate would have 10-20 hours/week availability from contract start date through the end of 2020, with a possibility of extension. Candidate should be able to be online for at least 10 hours/week during U.S. ET, with hours chosen by candidate, at least three days a week. Invoicing and payment will be twice a month.
Trial Period: this consulting position would start with an initial two-week contract focusing on onboarding and process discussion to ensure role fit, which then could be extended through 2019. At the end of 2019, another checkpoint will occur, with option to extend the role through 2020.
MoveOn will consider all proposals.
Background: Name, title, and contact information of primary contact. A brief description of prior community management or general technical consulting projects or roles.
Approach: Describe your strategies for managing inclusive open source communities, resolving community disagreements, creating review and testing processes, and working in an all-remote, Slack-centric working environment.
Experience: Proposals should include a description of relevant experience, including open source community engagement, progressive organizing community engagement, and open source community best practices.
Schedule and Timeline: Please outline a high-level timeline for your availability, broken down into hours/week through the end of 2019.
Cost: Include an estimate for hourly rate and total available hours in your proposal.
Submission: Submit to email@example.com and put "Spoke Community Manager" in the subject line.
● MoveOn reserves the right to make an award without further discussion of the proposal submitted. Therefore, the proposal should be submitted initially on the most favorable terms that the vendor could propose. There will be no best-and-final-offer procedure. MoveOn does reserve the right to contact a vendor for clarification of its proposal.
● The vendor should be prepared to accept this request for proposal for incorporation into a contract resulting from this request for proposal. Contract negotiations may incorporate some of or the vendor’s entire proposal. It is understood that the proposal will become a part of the official procurement file on this matter without obligation to MoveOn.
No Obligation to Contract
This request for proposal does not obligate MoveOn to contract for services specified herein.
Rejection of Proposals
MoveOn reserves the right, at its sole discretion, to reject any and all proposals received without penalty and not to issue a contract as a result of this request for proposal.
The vendor will adopt a policy stating that the vendor, in employment, recruitment, selection, compensation, benefits, promotion, demotion, layoff, termination, and all other terms and conditions of employment, will not discriminate on the basis of race, color, creed, age, sex, national origin, ethnic identity, physical or mental disability, veteran status, marital status, economic status, religion, sexual orientation, gender identity, or any other legally protected basis.