CS 5150: Software Engineering
Spring 2019

Cornell Information Chatbot – a (yet to be titled) speech / text bot for the Cornell community

Client

Marty J. Sullivan, DevOps / Cloud Engineer, IT@Cornell
Email: <marty.sullivan@cornell.edu>

The IT@Cornell cloud team was organized several years back in order to facilitate Cornell’s transition to the cloud, while encouraging modern DevOps practices. Cornell was declared a “Cloud First” institution by CIO Dr. David Lifka in 2017 and so the cloud team has been tasked with finding ways to reduce the university’s on-premise datacenter footprint by researching and implementing Infrastructure as a Service and Software as a Service solutions offered by public cloud vendors. The majority of IaaS cloud computing and storage at Cornell is done in Amazon Web Services with a smaller presence in Microsoft Azure.

Student contact

Wanming Hu, <wh298@cornell.edu>

Project Summary

The client has provided the following description of the project.

Background

IT@Cornell has been brainstorming a voice/text chatbot for use by the Cornell community to quickly answer questions about the university without the need to search through multiple web data sources. Specifically, we think a good target audience for an application like this would be incoming freshmen and their parents during orientation in the Fall. This can be one of the most confusing and chaotic times on campus and we think the ability to ask a question and get a quick answer will help reduce some of the stress and anxiety felt during this time. We also feel that having a student led project would be very appropriate for the simple fact that students are the main target audience for the app.

Several universities – Arizona State University, Northeastern University and St. Louis University to name a few - have developed similar applications designed to work with Alexa for Business. Here is a link to view what SLU developed partnered with Amazon:

https://www.slu.edu/news/2018/august/slu-alexa-project.php

The plan

From a technical viewpoint, IT@Cornell feels that developing an Alexa app or "Skill" will restrict our target audience to those who own an Alexa device or would require the university to provide a device to incoming students for it to be useful. For this reason, we would instead like a custom application built that can be installed on smartphones, due to their ubiquity.

Amazon / AWS offers API access to the backend technology for Alexa - Amazon Lex - for building custom voice/text interpretation applications. On the server side, we would like to take advantage of serverless technologies only to reduce the amount of technical debt to manage. This means using services from AWS like Lambda, API Gateway, DynamoDB, etc. to respond to client-side queries. Ideally, the server-side infrastructure will be templated and easily deployable to different AWS accounts or regions using the AWS Serverless Application Model (SAM), which is a subset of AWS CloudFormation.

An AWS account under the Cornell contract with AWS will be provided for development. A small amount of developer time from the IT@Cornell Cloud Team staff is available for consultation / guidance for this project, if needed, by appointment or via Slack.