Inspiration
As a student, I noticed that generic question papers don't always match the topics students are currently studying. Preparing separate practice questions for every subject and topic can also take time.
I wanted to build something that could make assessment practice more personalized and flexible. This inspired me to create LetsSolve AI, an AI-powered platform that generates assessments based on the subjects and topics a student wants to practise.
What it does
LetsSolve AI allows students to create personalized assessments by selecting their subject, topics, difficulty level, assessment type, and number of questions.
It provides two assessment modes:
- Mock Test: Multiple-choice questions with automatic evaluation.
- Written Test: Open-ended questions where students write their own answers and receive AI-powered evaluation and feedback.
Students can also:
- View their assessment results and scores.
- See answered and unanswered question counts.
- Review topic-wise performance and feedback.
- Access previous completed assessments through Assessment History.
- Register and log in to keep their assessments associated with their accounts.
How I built it
I developed LetsSolve AI as a local web application using:
- Python and Flask for backend development.
- HTML, CSS, and JavaScript for the frontend.
- SQLite for storing user accounts, assessments, questions, answers, and results.
- Google Gemini API for generating assessment questions and evaluating written answers.
- Pydantic for validating structured AI responses.
I chose a server-rendered Flask architecture instead of using a separate frontend framework. This allowed me to manage authentication, database operations, assessment generation, and evaluation within one application.
I also implemented configured Gemini model fallback handling to improve reliability when a model encounters supported API failures.
Challenges I ran into
While developing the project independently, I faced several challenges:
- Generating relevant questions based on selected subjects and topics.
- Designing separate workflows for multiple-choice and written assessments.
- Handling inconsistent or unsuccessful AI responses.
- Managing Gemini API quota limits and temporary service failures.
- Implementing reliable evaluation and scoring.
- Preserving student answers when evaluation needs to be retried.
- Maintaining assessment history while keeping each user's data separate.
I worked through these challenges by implementing structured AI responses, server-side validation, database-backed workflows, and error handling.
Accomplishments that I'm proud of
As a solo developer, I'm proud to have taken LetsSolve AI from an initial idea and planning stage to a functioning local proof of concept.
Some accomplishments I'm particularly proud of are:
- Personalized AI-generated assessments.
- Separate Mock Test and Written Test experiences.
- AI-powered written answer evaluation.
- Automatic scoring and detailed feedback.
- Topic-wise performance information.
- Assessment History with access to previous results.
- User authentication and account-specific assessment data.
Building these features independently also helped me understand how different parts of a complete application work together.
What I learned
Developing LetsSolve AI gave me practical experience in building a complete AI-powered web application.
I learned more about:
- Flask application architecture and routing.
- Relational database design using SQLite.
- User authentication and session management.
- Structured AI responses and validation.
- Gemini API integration and error handling.
- Designing different assessment and evaluation workflows.
- Testing and debugging a complete application.
- Git and GitHub for version control.
I also learned that building an AI-powered application involves much more than connecting an API. Reliability, validation, database management, and user experience are equally important.
What's next for LetsSolve AI
I plan to continue improving LetsSolve AI by exploring:
- More flexible question-generation options.
- Improved written-answer evaluation and feedback.
- Additional subjects and question formats.
- Better learning insights and topic-wise progress tracking.
- More comprehensive testing and reliability improvements.
- Deployment so students can access the platform online.
My long-term goal is to make personalized assessment practice more accessible and useful for students.
Built With
- chatgpt
- copilot
- css3
- flask
- geminiapi
- git
- github
- google-genai
- html5
- javascript
- pydantic
- python
- sqlite
- visual-studio
Log in or sign up for Devpost to join the conversation.