Inspiration
Students often struggle to decide what to study next. We wanted to build an AI tutor that recommends topics based on quiz performance instead of giving every student the same learning path.
What it does
Tutor analyzes quiz scores, recommends topics using machine learning, generates simple AI explanations, creates quizzes, tracks score history, and highlights weak areas for improvement.
How we built it
- Spring Boot for the backend APIs
- Python + FastAPI for the ML service
- scikit-learn (Random Forest) for recommendations
- Groq (Llama 3.3) for AI explanations
- Gemini via Spring AI for quiz generation
- MySQL database
- HTML, CSS, and JavaScript frontend
Challenges we ran into
We fixed missing Groq API configuration, duplicate quiz submissions caused by multiple button clicks, scikit-learn model version mismatches, and safely shared one database between Spring Boot and the ML service.
Accomplishments that we're proud of
We built a complete AI learning assistant that combines machine learning, LLMs, and quiz generation into one application with personalized recommendations.
What we learned
We learned the importance of proper logging, handling asynchronous requests correctly, maintaining ML model compatibility, and integrating AI services with traditional backend applications.
What's next
We plan to add user authentication, automatic model retraining, spaced repetition, improved recommendations, and a mobile-friendly interface.
Built With
- ai
- css
- fastapi
- html
- java
- javascript
- jdbc
- maven
- ml
- mysql
- python
- rest
- scikit-learn
- spring
- spring-ai

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