Adaptive AI Tutor — Making Learning Personal and Evidence-Based
💡 Inspiration
We were inspired by a common problem students face while studying from lengthy PDFs and course notes: finding the right information, understanding difficult concepts, and knowing which topics need more practice. Traditional study methods often require students to search through pages manually, while generic AI chatbots can sometimes provide answers that are not supported by the actual study material.
We wanted to build something more useful than a regular chatbot — an AI tutor that understands the learner's course material, answers questions using relevant evidence, and adapts practice to the learner's performance.
🛠️ How We Built It
We built Adaptive AI Tutor using Python and Streamlit, combining document processing, semantic search, and large language models into a single learning experience.
- PDF processing: PyMuPDF extracts text from uploaded study documents while preserving page information for references.
- Semantic search: Sentence Transformers generates embeddings using
all-MiniLM-L6-v2, and FAISS retrieves passages that are semantically relevant to a student's question. - AI-powered explanations: The retrieved context is sent to a language model through the Groq API to generate answers grounded in the uploaded material.
- Evidence-based responses: The system checks whether sufficient supporting information is available and can indicate when the material does not contain enough evidence to answer confidently.
- Interactive quizzes: The tutor generates practice questions, evaluates responses, and provides explanations and source-page references.
- Learning progress: A dashboard tracks quiz attempts and correct answers by topic, helping learners identify areas that may require more revision.
Our goal was to bring document understanding, question answering, assessment, and progress tracking together in one accessible application.
📚 What We Learned
Building this project helped us understand how several AI components work together in a practical application. We learned about text embeddings, vector similarity search, retrieval-augmented generation (RAG), prompt design, and the importance of grounding AI-generated answers in source material.
We also learned that generating a plausible answer is not enough for an educational tool. Answers need supporting evidence, citations should point learners back to the material, and the system should recognize when it cannot answer a question reliably.
Beyond the AI pipeline, we gained experience building an interactive interface with Streamlit, managing Python dependencies, integrating an external LLM API, and deploying an application through GitHub and Streamlit Community Cloud.
⚡ Challenges We Faced
One of our main challenges was connecting document retrieval with answer generation so that the tutor could respond using relevant passages rather than relying only on the language model's general knowledge.
Another challenge was making the quiz experience useful and consistent. Questions needed to match the selected topic, answers needed to be evaluated correctly, and explanations and page references needed to help students learn from mistakes.
Deployment also introduced practical challenges. Packages that worked in our local environment were not automatically available in the cloud environment. For example, we had to troubleshoot the PyMuPDF dependency and the distinction between the faiss-cpu installation package and the faiss Python import. This taught us to pay attention to dependency management and differences between local and hosted environments.
🚀 What Makes It Different?
Adaptive AI Tutor brings together three parts of studying that are often separate:
- Understand: Ask questions about your own learning material and receive evidence-based explanations.
- Practice: Test your understanding with topic-focused quizzes and feedback.
- Improve: Use performance tracking to identify topics that deserve more attention.
Rather than treating AI as simply a tool for producing answers, we designed the project around helping learners understand, practice, and improve.
🔮 What's Next?
We would like to improve personalization by adapting question difficulty to learner performance, strengthen answer verification and citation accuracy, and expand progress tracking to provide clearer recommendations for revision. We also want to evaluate retrieval quality, answer groundedness, and quiz accuracy more systematically.
Our long-term vision is to make studying more interactive, transparent, and personalized — helping every learner spend less time searching for information and more time understanding it.
Built With
- streamlit