AI Tutor

Inspiration

Learning can often feel disconnected from students' everyday lives. Many students struggle not because concepts are impossible to understand, but because traditional explanations do not connect with their personal interests or experiences.

We were inspired by the idea that learning becomes much more engaging when concepts are explained through things students already care about. Whether someone loves basketball, music, gaming, or another hobby, those interests can become a bridge to understanding difficult topics.

Our goal was to create an AI tutor that adapts explanations to each learner, making education feel more personalized and intuitive.

What We Built

AI Tutor is an adaptive learning assistant powered by the Google Gemini API. Instead of giving every student the same explanation, it uses a student's interests, chosen subject, concept, and difficulty level to generate customized lessons.

For example, a student learning physics can understand momentum through basketball examples, while another student might learn the same concept through music or gaming analogies.

The tutor:

  • Generates personalized explanations based on student interests
  • Adjusts explanations for different learning levels
  • Uses real-world analogies to simplify complex concepts
  • Encourages deeper understanding through conversational learning

How We Built It

The project was built using:

  • Python + Flask for the backend API
  • Google Gemini API for generating adaptive tutoring responses
  • HTML, CSS, and JavaScript for the frontend interface
  • Render for deployment

The backend receives information about the student's interests, subject, and concept, then creates a custom prompt for Gemini. Gemini generates a lesson designed around the student's interests, and the response is displayed through our interactive web interface.

Challenges We Faced

One of the biggest challenges was integrating the Gemini API and making sure our application could communicate reliably with the model. We had to troubleshoot API versions, model availability, and deployment configurations.

Another challenge was designing prompts that produced explanations that were both accurate and engaging. A simple AI response was not enough; we wanted the tutor to feel like a teacher who understands how each student learns.

Deploying the project also introduced new challenges, including configuring environment variables, managing dependencies, and ensuring the application worked outside of a local development environment.

What We Learned

Through building this project, we learned how to integrate generative AI into a full-stack application, design effective prompts, deploy a web application, and think about user experience from a learner's perspective.

Most importantly, we learned that AI can be more powerful when it does not replace human teaching, but enhances it by adapting information to the way each person understands best.

Future Improvements

In the future, we hope to add:

  • Multi-turn conversations for follow-up questions
  • Progress tracking and personalized learning paths
  • More interactive quizzes and exercises
  • Voice-based tutoring

Built With

Share this project:

Updates