Nowadays people in developed countries rarely think about how bad some food is, but not for us, but for environment. Right now people in the world use a lot more resources than earth can sustain, 1.7x more. And even than huge portion of food (1/3) is going to waste. Sustainability quickly becomes a problem and it is time for us to solve and overcome it.
What it does
Mrs. Hudson is a smart bot for Google Assistant platform. A person with a modern phone can ask it to order food from local deliveries and this bot will help with that. However, it will also notify person how his choices affect environment, will tell not-so-fun facts about real cost of ordered food. It will also offer a way to change, offer better options of desired food which are much more friendly for environment. Raise awareness and make a change!
How we built it
We used Google Assistant environment for our bot. We set up "Actions" on Google which are handled by Dialogflow framework to provide rich dialog experience. Dialogflow internally handles user requests. We had to setup whole flow of user interaction and handlers for complex requests. We used firestore to store all the datasets we use, which we query on demand. All the dialogflow handlers happen in firebase cloud functions, which are serverless cloud functions.
Challenges we ran into
None of us were familiar with bot building terminology and patterns, so it was really hard to make some complex interactions. Humans do not follow the script during communication, so ideally bot should not too. Unfortunately that means that it has to deal with unexpected answers, unnecessary information and complex dialog flow. Implementing that was the hardest thing.
Accomplishments that we are proud of
We are really proud that we could overcome all the problems we met. After sleepless nights we did everything exactly as it intended to be. We agreed that it was a pleasure to understand how the things for internally, how those should be built.
What we learned
- how important it is to make smart and environmental choices
- how conversational chatbots work
- how to make Google Assistant bots
- how Firebase firestore works
- how to develop and deploy Firebase Functions
- what is and how to use serveless architecture