Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hack the Opioid Crisis: Texting reminder service #8

Closed
laveshaparker opened this issue Feb 27, 2018 · 10 comments
Closed

Hack the Opioid Crisis: Texting reminder service #8

laveshaparker opened this issue Feb 27, 2018 · 10 comments

Comments

@laveshaparker
Copy link

laveshaparker commented Feb 27, 2018

What problem are we trying to solve?

There are two nation-wide Take Back Days held annually. This is a time for people to take their unused and unneeded prescription drugs to designated sites for free and environmentally-friendly disposal. Take Back Days are not on the same days year after year, and people might forget when they are happening. The proposed solution to this is to allow users to sign up for a Texting reminder service, in which they enter their phone number (with no other identifying information), and we send them a reminder two days before a Take Back Day, and then on the day of.

A big concern here is privacy, as people will have to volunteer their phone numbers to this service.

Who will benefit (directly and indirectly) from this project?

Government stands to benefit as they are running these Take Back Days. Constituents benefit by having free and proper disposal of prescription drugs in a "no questions asked" kind of way.

Where can we find any research/data available/articles?

The New York Attorney General's office has provided publicly available data here.

What help is needed at this time?

Designers

We need design for the UI that accepts these phone numbers!

Developers

Frontend

We need an embeddable service that can be added to different webpages to collect phone numbers. We also need to asynchronously send that information to a secure DB to be used later as we send the texted reminders.

Backend

We need to process and store phone numbers, protect against SQL injection/sanitize user input. We also need to plug into a P2P texting service (like Spoke or Hustle) to actually send these messages.

Creatives

We need copy for all the messaging and texted alerts.

Data/Security

We need to find a secure way to accept and store this data, as it is personally identifying, and a big tenet of the Take Back Day program is some level of anonymity.

What are the next steps (validation, research, coding, design)?

We need research for the best P2P texting platform to use to power most of this, and we need basic architectural discussions of how this service should work.

How can we contact you outside of Github(list social media or places you're present)?

Add your name here if you plan to stay on with this project through the March 11 HackDay!

Sources

This is all based on the presentation from the following people! They presented at the Pre-HackDay!
Daniel Spencer (full stack dev) - [email protected]
Carlos Merced (front end dev) - [email protected]
Annie Hirshman (designer) - [email protected]
Anna de Paula Hanika (product) - [email protected]
Daeha Ko (IT) - [email protected]


If you get stuck at any point, feel free to reach out to the leadership team with an email to [email protected] or come find an organizer at a HackNight. We're here to help bring great ideas to life!

@laveshaparker
Copy link
Author

Notes from 2/27 HackNight

  • Run on Twilio
  • Drastically reduces the cost of Text banking
  • Text messages/volunteers go and constantly send messages
    • We have features that exist that allow you to mass send messages for people subscribed.
    • In the US, as long as people have opted in, you can freely text people
      • We could turn that on as we use it. But we really can only add people who actually subscribe.
  • Currently in Spoke, you upload contact lists.
    • Currently in Spoke, you have different campaigns. That is the unit of sending stuff out. Sky would love to have a campaign which could be structured as an opt-in. "Text this number and you're on the contact list"
    • As is, version that would work is to maintain a contact list out of Spoke, and then you set it to the "Not in USA" env flag. Every time you send campaign out, you upload that list and then have a set of volunteers to deal with replies.
  • Twilio is a cool API that we can do lots of stuff with. They might even have a subscription list setup. It wouldn't take that much code to write a web form that maintains the list and sends it to all of our contacts. That might make more sense than using Spoke, especially if we don't care about replying to people.
  • Twilio.js file in Spoke that shows all the ways to interact with Twilio. Great starting point.
  • Great addition to Spoke would be to do "Text to to subscribe". Would take care of two problems at once!
    • Twilio has a setup where there are multiple numbers based on area code. Could be useful, tbd. We can use this to our advantage as people are more likely to answer. Twilio lets us buy numbers in specific area codes.

@laveshaparker
Copy link
Author

Using Node.js! Check out this Quickstart guide.

@laveshaparker
Copy link
Author

The magic of Glitch to collaborate seamlessly on a Node app!

@laveshaparker
Copy link
Author

Can't block message multiple numbers through Twilio, have to iterate through numbers and hit their messaging endpoing for each number (source). Will this lead to rating issues?

@laveshaparker
Copy link
Author

laveshaparker commented Feb 28, 2018

Decisions

  • Parsing phone numbers: LibPhoneNumber
  • Storing phone numbers: TBD, but probably MySql? We can encrypt numbers before storing them, and also make sure our server is secure.
  • Triggering reminder messages: Twilio (guide)
  • Making this into a service: TBD

Standing questions

  • It looks like Twilio keeps a log of all messages sent and the numbers they're sent to. I (Vesha) just requested access to a phone number redaction feature that's in Beta with Twilio.
  • Is there a concept of a "group" account, so that we don't have to use personal Twilio accounts for this messaging?

@laveshaparker
Copy link
Author

laveshaparker commented Feb 28, 2018

Great example from Patrick Weaver to start with! You will need your own credentials to set up the environment variables.

@laveshaparker
Copy link
Author

Promising Notification feature from Twilio.

@laveshaparker
Copy link
Author

Messages to be sent:

  • Reminder before the event about community action taking place at nearest drop off point
  • Check in day of if they actually went
  • Have a link to Google Maps in these messages
  • Remember DO NOT REPLY

@laveshaparker
Copy link
Author

this is pretty low volume, so we can just have a human run this script. We can set a cron to run if it's too tough to get a person consistently run this across Take Back Days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants