An end-to-end Machine Learning + Full Stack project that predicts a student's academic performance using semester-long data such as attendance, study hours, quiz scores, assignments, and engagement.
This system provides:
- ๐ Performance prediction (Grade AโF)
โ ๏ธ Risk level detection (Low / Medium / High)- ๐ก Personalized intervention suggestions
- ๐ FastAPI backend for real-time prediction
- ๐จ Premium Next.js dashboard for visualization
To build an intelligent system that helps educational institutions:
- Identify weak students early
- Improve academic performance
- Enable personalized learning
- Prevent dropouts using data-driven insights
Student Input Data
โ
Data Preprocessing
โ
Feature Engineering
โ
Machine Learning Model (XGBoost)
โ
FastAPI Backend (Prediction API)
โ
Next.js Dashboard (UI)
โ
Grade + Risk + Intervention Output
Since real academic data is sensitive, this project uses synthetic data generation.
-
Random but realistic student data is generated
-
Academic patterns are simulated:
- High attendance โ better scores
- Low study hours โ lower performance
-
Target variable (
grade_band) is assigned based on performance rules
- Gender
- Attendance (%)
- Study hours per week
- Quiz average
- Assignment score
- Midterm score
- LMS logins
- Forum posts
- Previous GPA
- Sleep hours
- Internet access
- Parent education
XGBoost Classifier
- Works well on structured/tabular data
- Handles non-linear relationships
- High accuracy and performance
- Industry-level model
Example API Response:
{
"predicted_grade": "A",
"confidence": 74.49,
"risk_level": "Low Risk",
"alert": "Student is on track.",
"intervention": "Maintain current learning plan."
}Student-Performance-Prediction-System/
โ
โโโ app/ # FastAPI backend
โ โโโ main.py
โ
โโโ data/
โ โโโ raw/ # Generated dataset
โ โโโ processed/
โ
โโโ dashboard/ # Next.js frontend
โ โโโ app/
โ โโโ globals.css
โ โโโ package.json
โ
โโโ models/ # Saved ML models
โ โโโ model.pkl
โ โโโ encoder.pkl
โ
โโโ src/ # ML pipeline
โ โโโ generate_data.py
โ โโโ train.py
โ โโโ predict.py
โ โโโ preprocess.py
โ โโโ evaluate.py
โ
โโโ outputs/ # Reports
โ
โโโ images/ # Screenshots
โ
โโโ requirements.txt
โโโ README.md
โโโ main.py
git clone https://github.com/VaidehiDeore/Student-Performance-Prediction-System.git
cd Student-Performance-Prediction-Systempython -m venv venvActivate:
venv\Scripts\activatepip install -r requirements.txt$env:OPENBLAS_NUM_THREADS="1"
$env:OMP_NUM_THREADS="1"
$env:MKL_NUM_THREADS="1"
$env:NUMEXPR_NUM_THREADS="1"python src/generate_data.pypython src/train.pypython src/predict.pyuvicorn app.main:app --reloadOpen:
http://127.0.0.1:8000/docs
cd dashboard
npm install
npm run devOpen:
http://localhost:3000
- ๐ Performance bar graph
- ๐ฏ Circular academic metrics
- ๐ฅ Dynamic input form
- ๐ Prediction result panel
โ ๏ธ Risk level visualization- ๐ก Intervention suggestions
- Attendance strongly impacts performance
- Study hours correlate with higher grades
- LMS engagement improves outcomes
- Low engagement โ higher risk
- Building end-to-end ML systems
- Data simulation techniques
- Feature engineering
- XGBoost model training
- FastAPI backend development
- Next.js frontend integration
- Dashboard UI design
- GitHub project structuring
- CSV upload for batch predictions
- SHAP model explainability
- User login system
- Database integration
- Deployment (AWS / Vercel)
- Model monitoring
Vaidehi Deore Second Year Engineering Student
Completed End-to-End:
Dataset โ ML Model โ FastAPI โ Next.js Dashboard โ Prediction Output




