There's a project in our city which connects people without smartphones with helpers through the phone. Calls are made manually from one person who manages the matching from helpers to help-seekers. Although it's a very small city, the solution does not scale very much as it depends heavily on the person actively monitoring the hotline. I want to help with a sophisticated, automated, analog to online matching platform, where helpers can register them online and get an information as soon as there is someone they can help in their area.
What it does
It matches offline, non-smartphone users through a simple call registration process with online registered help-seekers.
How I built it
The whole project starting with the solution design took place at the #CodeVsCOVID19 hackathon. At this place, a big shoutout and thanks to all volunteers, mentors, sponsors and participants of this great hackathon! <3
Communication is done over twilio apis, the solution is pure serverless on aws.
- Inbound/Outbound calls/sms are managed by twilio api
- twilio api webhooks point to AWS Lambda node.js functions behind a AWS API Gateway
- AWS Transcribe is used to do speech to text transcription
- AWS Comprehend with a custom vocabulary is used to detect key sentences in the transcription
- AWS DynamoDB is used to store information about helpers and help-seekers
- AWS S3 is used for store and transfer the data and trigger Lambda functions through S3 events
- AWS S3 is also used to host the public website, created with vue.js, backend is AWS Lambda and AWS API Gateway
Challenges I ran into
My teammate from spain which wanted to help unfortunatly got sick on saturday. So there was a lot of work for one person.
Accomplishments that I'm proud of
Good progress, altough there's still a lot of work to do. Most of the tools I used were new to me, so that's a great learning experience.
What I learned
I gained some new insights in a lot of new tools, vue.js for example which I had to learn, Also the enourmous power of cloud native services. It's just so easy to build some serverless backend with the right toolset (i used the serverless.com open source client for infrastructer as code deployments).
What's next for tatta phone
Still a lot to do actually. Pain is the synthetic voice of twilio, which definetly needs a replacement by a real voice recording. All in all the project should be up and running for public in the next week. I will sponsor the AWS costs myself, and probably leave the tool running even after Corona, as it seems to be a handy tool. I hope it's the same for the users who use it.
Looking forward to new challenges :-)