The inspiration for Food for Thought came from when we were having trouble deciding where to go eat out. There are always so many places to eat in our location however we can never find a place that was good and towards our liking. Thus we thought it would be a great idea to have someone or something to record our past cravings and favorite foods and provide us with a restaurant to go and order out.

What it does

Food for Thought is a messenger chat bot that should provide restaurant suggestions based on location and your food preferences. It uses Facebook's Wit.AI technology in order to comb through and parse the intents and entities of the user's Facebook message and provide a customized restaurant suggestion based on the message.

How I built it

Food for Thought was built using Wit.AI that uses our own set of training data to parse location and food types. It also uses Facebook messenger platform with a node.js express server as a web hook to connect the Wit.AI tool with the Facebook messenger for our Facebook page. Inside the web hook, it processes the Facebook Message with the power of Wit.AI and then we use TripAdvisor's API endpoints to help locate a restaurant in a certain location and on food preference.

Challenges we ran into

There were quite a few challenges such as error handling with Facebook messenger to the node.js web hook. Due to the nature of Facebook messenger which repetitively send a message to the web hook on a 400 response there was many edge cases we needed to account for. In addition, in the beginning process of creating the Food for Thought application, there was a lot of training that needed to be done with Wit.AI in order for it to start recognizing location and food types in our application.

Accomplishments that I'm proud of

The team is proud to accomplish a working Facebook page with the use of Wit.AI that provides a restaurant suggestion to the user, in such a short time span.

What we learned

We learned the capabilities of Wit.AI, and hope that with more training for our application that Wit.AI will provide us with more confident intents and entities on messages received. We also learned about how to connect and integrate our application with Facebook's services which will be very useful for our future endeavors.

What's next for Food for Thought

The next step for Food for Thought is to work more on the personalization of restaurants for each user and tailor responses to be more human-like. There is also a lot of training that needs to be done with Wit.AI in order for our messenger application to be able to fully recognize the different food types and locations.

Share this project: