Dining ConciergeAI Agent

chatbot

The dining concierge chatbot is a serverless, event-driven and scalable web application that sends restaurant suggestions based on a set of user preferences that are provided to it through user conversations. The following diagram describes the architecture of the web application:

dining concierge architecture

Based on user conversation, AWS Lex Chatbot will identify customer's preferred cuisine. ElasticSearch is used to fetch random suggestions of restaurants serving this cuisine. The DynamoDB table is queried with these restaurant IDs to find more details about the restaurant like name and address.

The frontend has been designed using HTML, CSS and Javascript and for the backend, various AWS services like S3, API Gateway, Lambda Functions(using Python), Lex, SQS, SNS, OpenSearch and DynamoDB have been used. Yelp API has been used to fetch restaurant details.

The project was undertaken as a part of the course 'Cloud Computing & Big Data' offered at Columbia University. The project was done in a team of 2 members comprising of Umang Raj and Katie Kim.

The GitHub repository of the project is Dining Concierge AI Agent.