What it does
chat U is a slack bot that allows students at universities to learn where objects or specific places on campus are. We wanted to focus on some specific things that can be hard to find, like microwaves, study spaces, and power outlets.
How we built it
We identified a problem. We talked about how finding objects on campus like microwaves, study spaces, and power outlets can be difficult. Some examples of this include students at Simon Fraser University (SFU) created a spreadsheet dedicated to where microwaves are on campus and it's a question asked often in their facebook student group. Karene talked about how frustrating it was to drive to campus to study and then finding that all of the study spaces were full of students. Finally, we all agreed that finding power outlets can be difficult, especially when your phone's dying and you have a limited amount of time.
We then brainstormed and finalized what capabilities we wanted our chatbot to have. Following this brainstorm we assigned tasks and got to work. Natalie worked on the logo and branding of the chatbot. Our team decided on the name chat U because it showcased the main functionality, chatting, and made references to the user and the university. Natalie also completed the conversation flow for the chatbot. Karene worked on compiling the microwave data and creating power outlet data. For the microwave data, she took the spreadsheet and translated that into a JSON file format. Hamza and Thai worked on researching how to code a facebook messenger bot and started working on coding the bot in C# and on Microsoft Azure.
Partway through the night, we realized that facebook messenger chatbots require approval via facebook which takes more than 24 hours. So we moved to coding a slack chat bot using StdLib and Python.
We also began coding a website, hosted on GitHub, to showcase our chatbot and provide a bit of background on the project. This pivot from facebook messenger to slack affected our ability to embed the bot into our website effectively. We attempted to use a third party service, Chatlio, but ran into issues of talking to the bot on the website using its @name. Additionally, we applied for a .tech domain name early on and never heard back, which was pretty disappointing.
Challenges we ran into
We ran into a lot of technical problems throughout this project. C# and Microsoft Azure hit us with a learning curve. Learning that facebook messenger chatbots required approval, after we had worked on it for a couple hours and had thought that they didn't was frustrating and disheartening.
Accomplishments that we're proud of
First, we're proud that this chatbot fulfills an actual need. During the hackathon, a student posted "is there a microwave in this building?" in the slack group. We all laughed at how applicable it was to our project, because our app would be able to give an answer.
We're proud that we were able to adapt quickly to a ton of technical problems! It was more difficult than we expected to code and implement a chatbot. Honestly, we're proud that we got it working!
What we learned
We learned a lot about API implementation and also a lot about some languages we aren't used to using. We also learned about the conversational element of a chatbot and how that affects the user experience. Something that is important but not thought about is escape options!
What's next for chat U
We would like to implement sensors in study area entrances to detect how many people are in study spaces. We would be interested in tracking movement in and out of the space. This anonymous data would allow us to calculate how many people are in a space while protecting these individuals privacy. This information can be useful for students to determine if they want to go to that space beforehand. Additionally, we would like the ability to expand to other universities and colleges by utilizing crowd sourced data.
Work & Github Repositories
Initial chat bot (facebook messenger) https://github.com/thaingocnguyen/ChatU
Website repository https://github.com/natc66/ChatU
Website Link https://natc66.github.io/ChatU/
Slack API https://stdlib.com/@karene/lib/chatu/
Slack Bot Repository https://github.com/H-Kamal/slackMicrowaveBot.git