Food Ordering Chatbot
- No Comments
OrderStack is synonymous to Chatbots.
The co-founders of OrderStack, Taher and Rohan (also best friends), kick started their software development careers, with a bespoke chatbot using Facebook Messenger as an interface in 2017.
It was a food ordering chatbot, which majorly automated the food ordering system using a chat assistant alone. The chat assistant, named Tanya, was trained to efficiently deal with customer’s orders.
The chatbot system has its own user management system, which is very important for a hieratchical management, and the admin gets full control of the system.
The chatbot has a structured and a comparitively easy approach to make the food ordering quick and accurate.
- A Facebook Messenger Chatbot.
- Natural Language Processing.
- Small Talk Enabled.
- User Context Management.
- Reduce User Ordering Time.
We got into inter-team brainstorming sessions on how the flow of the bot should be and the features that it will have apart from the food ordering flow. We also researched about the Facebook Graph API to handle the messages and also to figure out the challenges on the Messenger UI while giving in responses to the users. Also looked into a lot of other chatbots on the Messenger Platform to study the flow of non-food-ordering chatbots.
For the development plan, we first figured out a simple user ordering flow and thought about the functionality around it. Also, we decided to go with MongoDB as the database used to store all user messages and user information. We planned on creating a modular NodeJS server structure which interfaces with the Facebook Graph API. We also preemptively thought out that complex functionality might be added, so to keep the entire application highly modular to seamlessly add functionality if needed. We also prototyped a “fixed reply” chatbot to understand the workings of the Facebook Graph API.
Based on the research in the Analysis Phase we chose a Waterfall Development Approach.
- We first created a modular server structure for API integration.
- Also integrated MongoDB to store the user messages and storing the user information.
- Wrote logic for creating user flows and integrated DialogFlow for Natural Language Processing.
- Created intents to help with user flows in DialogFlow and created profiles for restaurants to upload menu items and customize messages for the users.
- Also developed an Admin Panel for the restaurants to manage their menus and custom information about the restaurants.
- We also integrated ElasticSearch to search for food items based on the user input.
- Also created a Restaurant Facing ChatBot for the owners or managers of the restaurants to manage the User Facing chatbot through the Messenger Interface itself.
We tested our bot internally by setting up a fake restaurant profile and menu. Our team tested this out for a week internally. Then we shifted the chatbot to UAT where we ran a pilot with a restaurant for 1 month.
In the deployment phase, we had to deploy the main application which was in NodeJS on a server with 4GB RAM, the server was also running the MongoDB instance and the ElasticSearch instance. The ElasticSearch instance is a Java Application which takes in a lot of RAM and that needed this entire server to have RAM enough to support all the 3 instances.
Connect With Us