We were inspired to create Resturbot by realizing how many resources are wasted by small businesses in handling day-to-day operations that can easily be automated. Resturbot is a project aimed toward helping small business owners utilize the power of bots to handle basic restaurant tasks (such as answering questions about hours/dishes/etc.), so that they can focus more on running a good business.
What it does
Resturbot utilizes Facebook Messenger's bot API as a platform to respond to customer enquiries about food, and is able to place orders through chat.
How we built it
Resturbot is made of three main components. It is a nod.js app that uses a front end built with HTML, CSS, and Bower. It uses express.js as the backend. It also contains scripts written in Python for additional functionality, such as optical character recognition for the parsing of a restaurant menu and automated SMS messages to restaurant owners regarding metrics and orders from their restaurant.
Challenges we ran into
One of the largest roadblocks we hit was making the calls to the Python scripts from the main node.js app work. That took a considerable amount of time. Another difficulty was finding a starting point for optical character recognition. We eventually decided on using Tesseract, which had satisfactory recognition of characters in png images of restaurant menus.
Accomplishments that we're proud of
We are proud of being able to create a functional Facebook Messenger bot, which is something none of us have done before. We are also proud of being able to pull together and connect all the spread-out components of the project at the end.
What we learned
We learned how to develop front-end without any prior experience. All front end components of Resturbot were learned within the span of YHack. We also learned lots about optical character recognition and using APIs to handle a variety of different tasks, such as sending SMS messages.
What's next for Resturbot
The future of Resturbot is to be able to create one for each small business owner and ultimately build a hive-minded architecture of communicating bots that help user-customers find the food/products they are looking for and user-business-owners spend less time performing tasks that are easily made automated.