💡 Inspiration

I got my inspiration to make AIStudentHours through observing some of the problems I had identified during my senior year. Even though I'm a senior, it is still a hassle and a bit awkward to schedule as well as personally attend an Office Hours session, especially when there are other students nearby and you need to ask a personal/casual question or a one regarding your performance in class. In addition, it is also a hassle for teachers to prioritize those that need help and those that need to ask a casual question. In order to solve this, I decided to make an online Office Hours platform for student and teachers alike who can use the benefits of AI in order to make things more efficient.

🤔 What it does

AIStudentHours is a web-app that allows student and teacher to create their own personal accounts on the website, while the students create an account that is bound to a teacher. In the room section, students can join teacher rooms, while the teacher can remain an administrator, create these rooms, and manage them. In this rooms, students will be able to add conversations which can be seen by all, and teachers can respond to them which attaches itself to the message. Additionally, the teachers have access to a "Sort" button that uses the power of Brain.js and Natural Language Processing to rate the students' messages based on importance and severity, while sorting it too, making the teacher's job a bit easier to determine which message they should handle first. Additionally, whenever a new message is created or a response is made, the web-app is supposed to create and send an SMS message to the registered phone number (currently, mine) using the Twilio API.

⚙️ How I built it

I mostly built AIStudentHours using Wix, Velo by Wix, JavaScript, Crypto-js, sha1, Brain.js, Twilio API, and Kaggle. AIStudenHour's UI as well as frontend was mostly managed by Wix and, namely, their dataset connection and repeater item sections. In the backend section, Velo by Wix provided server and individual backend for each interaction and for each object sent through the server, which were both built on JavaScript. Crypto-js and sha1 provided good encryption and security measures for personal information, namely the email address and password. Finally, Brain.js and the dataset I had made which rated user messages from 1-5 based on their severity made the NLP model which makes up sort and the Twilio API was supposed to send messages based on whether someone had created or responded to a post.

💪Challenges I ran into

  1. The first challenge that I ran into was the integration of the Query-based dataset and Velo by Wix. The dataset not only had to be dynamically updated, but also it had to be readable and writable by every user, which were managed by Velo settings. However, a lot of the interactions (creating Rooms, creating accounts, creating comments) were a bit fishy to take care of due to the fact that Repeater items IDs as well as the dataset IDs were different, which means I had to take another alternative route to retrieve one from another.

  2. In the case of NLP, the only problem I had was the fact that I didn't have a dataset. So, in order to make the process faster, I had to use a combination of kaggle datasets rating a user's comments based on their positivity and a dataset made by myself regarding Reddit forum posts and their seriousness based on a multi-class system (1-5, 5 being most serious). Eventually, the machine learning model had learned the pattern connecting the two and was able to predict seriousness with about 93% accuracy.

  3. The Twilio API is still a big problem due to the fact that occasionally the software will bug out and the message SID will throw an error saying it is invalid, I tried my best through Twilio Forums, but this was a challenge I could not solve as of yet. However, a few times, a message did come through to my phone, which will be fixed later on.

⏭️ What's next for StudentHours

For StudentHours, I would like to create the ability of adding private rooms, personalized messages, message flairs, as well as more that would make the act of teaching through Office Hours a bit easier. Also, I would like to add message threads as well as forum elements (including a video chat) in order to add a blend of personalization to AIStudentHours.

Built With

Share this project:

Updates