Inspiration

During high school, I used to join many organizations with the goal of tutoring in mind. I found fulfillment in mentorship and helping students overcome their challenges. However, there are many challenges that arise when it comes to mentorship that tutors need to avoid. Teaching without these skills can make sharing ideas difficult or become discouraging. By building this project, what I aimed to do is make the process of teaching students more easily acquired for people who haven't started their mentorship journey.

What it does

The Tutor Trainer is a Chatbot, where tutors generate a student based on what grade they're in and what subject they want to be tutored in. Tutors can then simulate talking with the student and practice explaining concepts at a level appropriate to the student. Finally users can create feedback based on their previous interaction with the student, generated using AI.

How I built it

I built The Tutor Trainer using Vite as well as OpenAI. I started off with a basic UI just so that I could understand how I wanted to navigate pages, or what functionality I wanted the app to have. For the backend, I worked on where I wanted AI to interact with user data and what I wanted it to respond with. There are three API endpoints for the AI model: one for generating a student persona json, one for creating responses in a conversation, and one for generating feedback from conversation history.

Challenges we ran into

One of the challenges that pop up when working with LLM's is that without the right prompt, you can get very odd responses, even when I got the API calls working. It would do things like act as the tutor, or say things unrelated to the previous conversation or ask random questions unrelated, even going as far as to switch their names. Finding a way to give the AI model previous context, as well as getting it to act appropriately without fail was difficult.

Accomplishments that I'm proud of

This is my first time using LLMs in a project like this. I had an idea, but I wasn't sure how to accomplish what I wanted to make. In both the UI and the backend, I was learning new things. For the UI, I never knew how to make a chatroom interface or how to use it, but after utilizing the right package I realized it's not difficult to implement. As for AI though, I only used OpenAI for an

What I learned

The Tutor Trainer was a great opportunity for me to learn about data and how to make different processes interact with each other. One prompt generates a json that contains information about the student generated, letting the AI get creative with who the student is. The other prompt has to use that json as well as a json containing message history to create realistic responses based on the persona it generated and previous messages. Keeping track of the data helped me streamline building the app, but also helped me overcome many challenges that arose from making the conversations more natural.

What's next for The Tutor Trainer

There are still many features that could be implemented. The next thing I want to do is make a comprehensive feedback page by using data from real sessions in person or the generated .txt files, giving tutors a larger picture for their journeys than what can be summed in a single session. I also want to make an essay editing page, where "student" essays or papers can be generated in various formats, and a user's job is to learn how to give good feedback for improvement and writing (a valuable skill that is difficult to acquire).

Built With

Share this project:

Updates