As a tool, we were inspired by Twilio during the opening ceremony and its possibilities of engaging people with in such a simple and straightforward manner. There weren't any fancy applications, web containers, or anything. It was quick and worked like it was supposed to. 1-800-ASK-WHAT follows that kind of logic in offering an easy to access manner. According to the Pew Research Center, 17% or nearly 1 in 5 Americans have a cell phone that isn't considered "smart". That means basic acts like . navigating towards the nearest ATM, restaurant, bus stops, and grocery stores can be difficult. By texting one of our 1-800-ASK numbers, people can send their location and receive information about where the closest ATM or restaurant is.
How we built it
Built it using Express.js for the Back-end, Twilio for the message retrieval functionality. The rest of the project was built using Google APIs: the Geocoding API, Places API, and the Cloud Natural Language Processing API. Users would give us an address which would be converted into geographic coordinates. These geographic coordinates would be used in the Places API to get nearby places that matched our query. We used the Natural Language processing in context of finding restaurants; if a user is halal, vegan, vegetarian etc, we ideally would be able to scan Google reviews in order to classify them. The Cloud Natural Language Processing API was a difficult process simply because we had to find readily available datasets that did not conform exactly to what we wanted for our project. It was also a matter of cleaning a 200,000+ row CSV file when Google would only process a maximum of 100,000 rows for the dataset.
We're proud of the simple ability to find grocery stores or ATMs in a local area without requiring wifi or any form of internet connection on the user's part.
What it does
A users sends a text containing various information to a number (817 - 428 - 2867), for example, their radius willing to travel/walk and any specific identifiers they want to include, like dietary restrictions if searching for a restaurant. Using the technologies we described above, the number sends back a list of either ATMs, restaurants or bus stops, depending on the user input.
Challenges we ran into
A huge challenge we ran into was getting an accurate user location. We could have used the area code of the phone number from which the text came from, but this could lead to many false positives. We instead decided to direct the user to click on a link that would prompt them to allow us to access their location. This represented a huge headache for us on the backend.
Another challenge we ran into was cleaning the data set we used for our machine learning model. As Google Cloud API has very strict rules for how the data entered can be structured, we spent extensive time deleting rows of data from the dataset we had obtained.
Accomplishments that we're proud of and what we learned
We had the opportunity to learn and use many APIs, which we think is an accomplishment in and of itself given that we had no experience with these tools beforehand. We were also able to develop a sophisticated back-end solution that handled user input effectively.
What's next for 1-800-GETWHAT
We want to expand user functionality and usage, eventually allowing users to simply enter a regular sentence and our solution be able to process the text seamlessly. We were also considering adding some sort of direction functionality for the response the user received.