During the Fall 2019 semester, as part of "Designing Smart Systems" course, I collaborated with Rahul Sridhar to create a smart assistant using Google Dialogflow.
Project Duration: 4 weeks (27th September, 2019 - 18th October, 2019)
There are a lot of events going on at CMU everyday that it is almost inevitable that you are missing out on some of the events just because you may not know how to look for events. There is a good chance that by the time you go through this entire document (considering you actually read the document) you could miss out on events that you are interested in.
Another issue is that there is no easy way of looking for events that users are interested in. Since there is no system capturing user interests at CMU, it is very difficult for users to find the events that they are interested in. This whole process can sometimes becoming overwhelming.
A chatbot that helps users find events at CMU.
Scotty is known for making friends easily and can ‘sniff’ out the events that users are interested in based on certain inputs like category selection > sub-category selection > Date and Time. Scotty will then search the database of events matching the user inputs and recommend events to the user. If the user wants, Scotty can also go ahead and save the event in the users calendar as a call to action.
Welcoming - it can greet users and engage in a pleasant conversation.
A Healer - it can reinforce positive emotion or it can cheer you up if you are feeling low
Informative - it can give you fun facts about itself (mascot of CMU) or interesting facts about CMU
Crafty - it can steer the conversation back on track if the user requests are not recognized.
Scotty can engage in a conversation with the user to get the required inputs in order to suggest and book events for the user based on their interests.
At the moment, the events have been hard-coded in the bot. In a future state, using APIs offered by different schools - like the School of Drama, School of Music, Carnegie Mellon Sports, AC Mellon Soccer etc. - the events can be added to the database at run-time, and any changes to the existing schedule can be recognized and communicated to the user.
At the moment, Scotty requires both the date and time inputs for booking an event in the calendar. In the future, Scotty will be able to read the date of the events from the database and also communicate with the users calendar to work around the users schedule to suggest events.
Over time, Scotty will learn user preferences of the users and instead of the user asking for suggestions, Scotty can recommend events to the user based on their interest. Scotty can also learn about the users preferred date and time for attending events. All the user will have to do is then - either accept the event to be pushed in to the calendar or reject it.