This project came about because I have very limited data on my phone plan and when I'm outdoors I still need to get access to transit information and do quick searches.
What it does
Guardian SMS allows you to access the powerful Google Assistant through SMS. You can send your searches to a phone number and receive Google Assistant's response. It also allows you to get routing information for public transit. Just send it your starting point and destination and it'll get you easy to follow instructions through Here's navigation api
How we built it
We built this tool through STDLIB's server-less API back-end service. The SMS messages are sent using MessageBird's API. Public transit routing information is obtained through Here's routing API. We access Google Assistant through the google-assistant npm package based within an express js application.
Challenges we ran into
We had difficulties setting up oauth correctly within our node application. This was necessary to access Google Assistant. Through persistent debugging and help from a very kind top hat mentor we were able to figure out how to set it up correctly.
Another issue we had was in trying to deploy our node app to heroku. To execute our app we needed a package that had to be installed through apt-get and we found out that heroku doesn't support apt-get commands without third party helpers and even after we got the helper, the libasound2-dev package was unavailable. With an hour left before submission we decided to use ngrock for tunneling between our STDLIB api and our node app which was executing locally.
Accomplishments that we're proud of
We're very proud of how far we got. Every step of the way was a thrill. Getting the navigation service going through SMS was amazing and then getting google assistant to be accessible offline through text was mind blowing.
What we learned
We learned that we can accomplish a lot on 4 hours of sleep. We learned how useful STDLIB is and how powerful node js can be.
What's next for Guardian SMS
Next we want to create a supporting web app through which we want to allow other people to use this service by linking their Google accounts. We also want better navigation support so that it allows users to select between: public transit, biking, walking or driving, when they are requesting directions.