After many an awkard phonecall we decided that we wanted a solution to the problem of sending a message to people who only have a landline, and don't take texts.
What it does
A user sends a text to a twilio phonenumber, this will include a target phonenumber and a body with text that you want to be said to the recipient. Our program, using the twilio API and amazon polly, then processes this text, converts it to audio and calls the recipient, playing the body of the initial text as speech.
How we built it
- Text message parsing using Twilio
- Sends text body to Flask service running on AWS
- Server parses text to audio using AWS Polly (obviously we gave it a welsh accent at this point)
- Server serves the file back to twilio which then handles the calling of the user.
Challenges I ran into
Connecting the pieces and getting the Flask Server properly serving the files in order for twilio to receive them and subsequently make the phone call with those files.
Accomplishments that I'm proud of
AWS Polly produced pretty good results and the program works nicely for sending messagages. It is also perfect for sending people memes by phone.
What I learned
- Joseph - I learnt how to use the twilio API and improved my use of python and how python interacts with twilio.
- Sam - This was my first real foray into using AWS. AWS is probably the most feature rich cloud service so I will look to use its services in future Hackathon Projects! I also learned a fair bit about using Twilio's API from helping debug the Twilio Service
- Cole - I learnt about API's and i learnt a bit about python. Working with twilio was fun as well.
- James - I learned how webhook endpoints works, and got to use flask to set it up, something I have not done before.
What's next for NeverCallAgain
We wanted to allow for message responding using Twilio response but that lead to some very unexpected behaviour and the text transcribing was not so good. Therefore we would probably attempt to handle the response differently i.e. parsing the audio as a file using something like Amazon Transcribe and then returning the resulting message to the Twilio API.