Inspiration
As college students, office hours are an extremely valuable tool to supplement our education. However, inefficient office hour queues oftentimes lead to frustrating and unproductive learning experiences. We compiled three pain points that university students often experience:
- Long wait times in traditional office hour queues: Students often bottleneck the system when stuck on difficult problems
- Limited capacity of teaching assistants: In public universities and generally large classes, there often aren’t enough TAs per student
- Unproductive learning experiences for students: Students may feel demotivated if they are unable to get their questions answered in a helpful manner
What it does
Tara is an AI-powered teaching assistant that is there to help anyone learn anywhere, anytime.
On the student side, Tara is a Discord bot that provides homework help, topic guidance, and exam review. Students can reach out to teaching assistants with more specific questions about class content if they require more assistance after Tara explains it in a different way.
For educators, Tara offers educators valuable insights into student performance and areas of difficulty through advanced analytics. Armed with this data, teachers can tailor their lesson plans to improve students’ understanding on specific topics they know their students will benefit from. Teachers can also upload class materials and educational resources to ensure that Tara's teaching assistant abilities align with their curriculum.
How we built it
For our overall project architecture, we have a Discord bot that runs on a Node.js server. It listens to messages within the channels of the Discord server it resides in. We then have a REST API, built on Express.js, that serves most of the core business functions, such as user management authentication and course management. Our admin frontend was built with Next.js and the NextUI beta library. We chose to create several different microservices for the project, due to several programming language incompatibilities.
In terms of data analytics, there are two main parts: topic sentiments by class and overall class sentiment. The majority of the data analysis was configured using Cohere’s API. We specifically used semantic search to find similarly related solutions to provide a more robust explanation. We used Cohere’s embed API to receive floating-point representations of specific question-solution pairs. With these floating-point representations, we could use cosine-similarity measurements to determine how related certain questions were to specific topics. Additionally, Cohere’s classify API was used to tag various messages as “positive” and “negative,” which is then collected to determine overall class sentiment. We used two different models for training. One of our datasets was a set of math word problems and solutions with difficulties ranging from preliminary to college-based math. Our other dataset was Sentiment 140, a collection of 1.6 million Twitter messages that are classified as positive/negative, was used to generate overall class sentiment.
Challenges we ran into
All four of us were working on entirely different parts of the project — Jeffrey on NLP and the bot, Vincent on backend magic, Anna Z on branding and connecting the frontend / backend, and Anna H on the admin panel layout. We were also often working from different parts of Pauley Pavilion due to connectivity issues. We struggled to bring everything together at some parts of the hackathon, both our communication in-person and our code over Github. However, we came together to make it work!
Accomplishments that we're proud of
- Successfully finished a very complicated project from scratch
- Used Next.js and NextUI for the first time! (from the frontend people)
- Learning and completing an NLP project in less than 36 hours
- Got decent amount of sleep (except for Vincent) — good work/life balance
What we learned
For some of us, it was our first in-person hackathon and the first time building a project at this scale. We learned how far communication and synchronization could get us when dealing with a complex project. For example, Anna Z worked on the API calls on the same component that Anna H was debugging the CSS — we needed to make sure we were on the same page about what was getting updated and what else needed to be worked on. Across the board, all four of our team members talked to each other to ensure that we were working smoothly on each part of the project.
What's next for Tara.ai
- Expanding to other platforms such as Slack, Microsoft Teams, or even a browser extension to increase access for learners
- Streamlining the uploading process through a document parser
- Diversifying and increasing the topics that Tara can explain
- Looking beyond university – learning never stops, so there are infinite possibilities for Tara as a learning assistant in the real world (jobs, online courses, libraries)

Log in or sign up for Devpost to join the conversation.