An AI-powered SAT Math tutoring platform that provides personalized learning experiences using Google's Gemini Pro. The application adapts to student performance, offers real-time feedback, and generates unique practice questions.
Live Demo | Report Bug | Request Feature
- AI-Powered Questions: Utilizes Gemini Pro to generate unique, contextually relevant math problems
- Adaptive Learning: Automatically adjusts difficulty based on student performance
- Interactive Dashboard: Real-time progress tracking and performance visualization
- Smart Scoring: AI-driven score prediction system
- Comprehensive Database: 7500+ unique questions with continuous AI generation
- Mobile Responsive: Seamless experience across all devices
- Step-by-Step Solutions: Detailed explanations for every problem
- Python 3.11 or higher
- Google Cloud API key with Gemini Pro access
- Clone the repository
bash git clone https://github.com/yourusername/sat-math-tutor.git cd sat-math-tutor bash python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate bash pip install -r requirements.txt bash Create .env file and add your API key echo "GEMINI_API_KEY=your_api_key_here" > .env bash streamlit run app/main.py
-
Select Difficulty Level
- Choose between Easy, Medium, or Hard questions
- System adapts based on your performance
-
Answer Questions
- Type your answer in the input field
- Submit to receive immediate feedback
-
Review Progress
- Check your performance metrics
- View predicted SAT score
- Analyze progress trends
sat_math_tutor/ ├── app/ │ ├── main.py # Main Streamlit application │ ├── config.py # Configuration settings │ ├── database/ # Database management │ ├── models/ # Data models │ ├── services/ # Business logic │ └── utils/ # Helper functions ├── tests/ # Test suite ├── requirements.txt # Dependencies └── README.md # Documentation
Run the test suite:
bash pytest
- Fork this repository
- Sign up for Streamlit Cloud
- Create a new app pointing to your fork
- Add your
GEMINI_API_KEYto Streamlit secrets - Deploy!
For local deployment, ensure you have all environment variables set in your .env file: