Our cutting edge office hour queue system introduces dynamic room creation, sms notifications, and a modern waitlist system to assist TAs and students to learn challenging concepts for any course.
As students, we both understood the struggle of going to office hours the day before an assignment was due standing shoulder to shoulder with our fellow classmates in desparation of being helped by a teaching assistant. As hours passed, so did the anxiety of tens waiting on the floors of the overcrowded room. As former TAs, we also understood the struggle of having to quickly find the student that we need to help in the cacophony of distressed students. With this in mind, Owen and I started developing an application that enabled students to be able to find study areas nearby while waiting their turn.
What it does
Our systems of user authentication, dynamic rooms, sms integration, and robust queueing combined with the minimalistic modern UI provide students and TAs a way to handle office hours in a seamless and stress-free way. Additionally, we enabled students to provide an overview of their issues so that TAs can better assist and understand potential weakpoints in future assignments. Students are able to add themselves to the queue by adding their phone number, their overview, and an option to opt in to receive notifications when a TA is ready to assist them. TAs are also easily able to remove themselves and students with ease. The last feature we added was dynamic rooms so that each class could have their own running system.
How we built it
Initially, we started with designing our interface with various iterations to fit TA and student needs. While this was happening, we were also experimenting with fundamental features of our application such as sms integration and dynamic queueing. Then, after the design was made we began building out our frontend using ReactJS, Vite, and Tailwind. After this was put in place, we added some basic functionality like adding and removing students or TAs then began working on integrating push notifications to students. After trying out different services, we ended up utilizing WhatsApp for our demo with Trilio as the provider. For our backend, we used nodeJS to connect with the RESTful API to the frontend. Lastly, we added support for multiple rooms and a login feature.
Challenges we ran into
The first problem we ran into was deciding which idea to pursue as there were so many, but after some heavy research and discussion our path became clear. After deciding our idea, some of the largest hiccups we ran into were when we were experimenting with sms and email integration as privacy regulations regarding phone numbers were very strict and only allowed to legitimate businesses. Hence, after long hours of finding workarounds we were able to achieve a compromise in utilizing whatsapp for our demo. Additionally, we had some difficulties configuring our frontend with tailwind as some of the styles that we were pursuing were unintuitive to implement.
Accomplishments that we're proud of
One of the most major accomplishments that we're proud is that we succesfully integrated an sms service to our application seamlessly and with almost no delay. By utilizing the Trilio API and proper authentication tokens, we were able to succesfully send push notifications to phone numbers. Additionally, we are also very happy with our final product as we had accomplished a majority of the planned goals we had for our application to make office hours easier for TAs and students.
What we learned
For our team, various unfamiliar technology had to be learned in a very short amount of time such as the use of tailwind, building a RESTful API to connect the backend with the frontend, and a new service Trilio. We also learned that we should log print statements significantly more in all of our files during development.
What's next for OHQ (Office Hours Queue)
If given more time, there are many more features that we would love to implement for OHQ. For starters, we would love to be able to be supported by Georgia Tech in order to establish legitimate phone numbers to send text over sms using carriers and not WhatsApp. Next, we would want to be able to create a SQL database to store office hours attendance for different classes so that we can provide intricate metrics such as wait times and number of students that attend before assignments. Given this, we would also want to potentially use LLMs to provide detailed summaries of student feedback so that TAs can better assist students. We believe these features would better help students and TAs in their learning process for any class.
Log in or sign up for Devpost to join the conversation.