hazardous

thoughts, things, etc. from andrew snow

SHVL

forthebadge

summary


This project will aim to implement a user-friendly interface which can be used to enter a message which will then be texted out to a list of phone numbers. Specifically, the goal will be to deploy this as a webpage, to be used to alert employees of things like shift time changes or important information.

background


SHVL is a sort of two-layer title. SHV is the shortcode for Shreveport, the location of my workplace. However, it is also a nod to a former manager who had a knack for relentlessly sending out texts and phone calls, even if it was after midnight, or an hour before a shift. Although it was annoying at times, I found that it was a good way to remind someone like me, who is just a taaaddd bit ADHD, to set my alarms and whatnot. A large goal of this project will be to hopefully setup a cron job which will automatically send out the next day's start time, the evening before.

@TODO

initial


  • successfully use textbelt API
  • write API calls into a simple script, which can be used via commandline
  • develop script that, given a message, will send the message to a database of numbers
    • short-run: a simple txt file with one phone number per line
    • long-run: perhaps a more robust/manageable database?

development


  • develop a user-friendly front-end
    • webpage?
  • explore textbelt API and look into feasibility of handling SMS replies to the robo-number

long-term


  • ???

notes

The aim of this project is to ideally deploy this from a secure or insecure environment (ie, either from a workplace intranet or from home) and, given a database of phone numbers, simply proceed to send out a mass message to this list.

I believe there would be a few advantages:

  • flexible scheduling: alot can happen in 24hours, and in an industry that succeeds when efficiencies can be improved, this tool would allow employers to notify employees of changes in start-times for a shift.
  • maintaining contacts: this is not an issue unique to my workplace: almost everywhere i have been employed, employers were often scrambling to maintain current contacts - but with any sort of quick turnover, your phone can get real cluttered, real fast. offloading that entire process would keep cellphone contact lists nice and clean, and with a centralized list of numbers, a single person could add to or clean up the list - and anyone using this tool would always be using the most recent and accurate contact list.

However, there are some issues:

  • Not sure how to put this because I am not a lawyer, but: given the various layers and levels of technology used here, combined with the fact that this would allow employees to be contacted outside of work hours, I am absolutely positive there are legal frameworks in place that might govern a tool like this. Ongoing legal research isn't exactly my top priority, but I consider end-user privacy, as well as information security in general, to be two things which are foundational to anything I hack together and distribute - to that extent this project will always be found on GitHub, which can be viewed here

operation

The script is fairly simple, relying on textbelt to provide a no-frills API to push messages to a cellphone.

curl -X POST https://textbelt.com/text \
      --data-urlencode phone=$SHVL_PH \
      --data-urlencode message="$SHVL_MSG" \
       -d key=$SHVL_TOKEN 

Variables are set with flags. -p defines the phone number, and -m defines the message.

# set phone and msg manually
while getopts p:m: option 
do 
 case "${option}" 
 in 
 p) SHVL_PH=${OPTARG};; 
 m) SHVL_MSG=${OPTARG};; 
 esac 
done 

However, this is purely for demo purposes - to test the API and verify the underlying SMS functionality. Implementing this for web usability will involve porting this into either javascript or PHP, due to their avaliability across just about every desktop and mobile browser used by a majority of individuals.