andreagoulet / callmyreps

an app that makes it really easy to call your representatives about issues you care about
MIT License
11 stars 5 forks source link

callmyreps

It has to be easier to call my elected officials. This app will send phone scripts via text or notifications about causes people care about.

This project is in the super duper early stages, so I'm using this to document my thought process with the hopes that other people can help me bring it to life and improve upon it.

I was really motivated by the SOPA and PIPA campaigns that came out a couple years ago. I took action. I called my representatives because it was super easy. Now, we need to mobilize more than ever. My research shows that phone calls are by far the most effective form of advocacy. What gets in the way is that people don't know what to say. I found this spreadsheet that brillantly lays out scripts based on whether someone supports or doesn't support a given issue.

My thought is that we could use the Sunlight Foundation API that powered the SOPA and PIPA campaigns to help create customized scripts for people.

The app would send customized scripts based on data pulled from the API. Here are some specific use cases I envision:

Useful Info for Reference

How to Contribute

I want to share my opinion
  1. Join our Slack channel to get to know the people who are working on this project. Don't be shy. We're easy to get along with. :)

  2. Introduce yourself. Tell us your name, what brought you to the project and what skills you have (you don't need to know how to code to help make this project awesome.)

  3. Make friends and join in the conversation. Ask questions. Share ideas. See something that inspires you? Put it in Slack for all of us to see.

I want to work on the app, but I don't know how to code (yet)
  1. Create or sign into your GitHub account

  2. Click on the issues button at the top of the page.

  3. Filter issues based on labels. There's work for visual designers, UX/UI, copywriters, and people who are domain experts but don't write code. You do not have to know how to code to contribute. Post a comment and submit work.

I want to work on the app, and I know how to code
  1. Create or sign into your GitHub account

  2. Fork the repository and make the changes you want.

  3. When your code is ready for review, submit a Pull Request so the core team can review your changes. It's normal to have a healthy discussion in the comments before something gets merged in, that's how we work together to make our code the best it can be!

Domain Model

[1] - written in app, refererenced from calling sheet
[2] - From Sunlight Foundation or other API

Product Roadmap

1. MVP

2. Build a Back End
Any content that has changed in the spreadsheet will need to be updated in the app. Any such content will be moved to a back-end and the app will be updated to pull that content from the back-end.

3. Create UI for Updating Content Via BackEnd
This will allow the originator of the spreadsheet to easily modify scripts using the application.

4. Implement Sunlight API
When a user clicks Find Reps from the Landing Scene, they will be able to add their address and get a list of their representatives.

5. Implement Reminders/Notifications
Allows users to schedule reminders from inside the app that will allow them to access a call script and person to call in under two clicks.