Track. Analyze. Improve.
An intelligent dashboard that transforms student data into actionable insights through AI-powered analytics and predictive modeling.
Features โข Demo โข Installation โข Usage โข API โข Contributing
- Overview
- Features
- Tech Stack
- Project Structure
- Installation
- Usage
- API Documentation
- Machine Learning Models
- Screenshots
- Contributing
- License
IntelliDash is a comprehensive educational analytics platform that helps educators and institutions:
- ๐ Visualize student performance trends and patterns
- ๐ฏ Predict academic outcomes using machine learning
- ๐ Identify at-risk students early
- ๐ Track learning metrics and engagement
- ๐ก Make data-informed educational decisions
The platform combines interactive data visualizations with two AI models: a Random Forest Classifier for dropout prediction and a Linear Regression Model for performance forecasting.
- Real-time Data Visualization - Dynamic charts using Chart.js
- Student Performance Table - Paginated, searchable data grid
- Individual Student Profiles - Detailed modal views with quiz breakdowns
- Responsive Design - Works seamlessly on desktop, tablet, and mobile
Predicts academic performance based on:
- ๐ Hours Studied
- ๐ Previous Scores
- โฝ Extracurricular Activities
- ๐ด Sleep Hours
- ๐ Papers Practiced
Identifies at-risk students using:
- Age & GPA
- Attendance Rate
- Assignment Submission Rate
- Quiz Completion Rate
- Learning Platform Engagement
- Login Frequency
- Donut Charts - Average class scores across subjects
- Bar Charts - Grade distribution histograms
- Student-specific Charts - Individual quiz performance
- Color-coded Insights - Performance level indicators
- Glassmorphism design with gradient accents
- Smooth animations and transitions
- Blue/purple theme with high contrast
- Accessible and intuitive interface
- HTML5 - Semantic markup
- CSS3 - Modern styling with gradients, glassmorphism
- JavaScript (ES6+) - Dynamic interactions
- Chart.js - Data visualizations
- Python 3.9+ - Core language
- Flask - Web framework
- Flask-CORS - Cross-origin resource sharing
- NumPy - Numerical computations
- Scikit-learn - ML models (Random Forest, Linear Regression)
- Pickle - Model serialization
- CSV - Student performance datasets
- Pandas - Data processing (training phase)
ai-powered-student-insights/
โโโ backend/
โ โโโ data/
โ โ โโโ Student_Performance.csv # Raw performance data (10,000+ records)
โ โ โโโ cleaned_student_data.csv # Processed student data
โ โ โโโ student_data_with_quiz_scores.csv # Quiz-enriched dataset
โ โโโ main.py # Dropout prediction API (Port 5000)
โ โโโ regression-main.py # Performance prediction API (Port 5001)
โ โโโ regression-training-script.ipynb # Model training notebook
โ โโโ regression_model.pkl # Trained regression model
โ โโโ student_dropout_random_forest.pkl # Trained classifier model
โโโ index.html # Main dashboard page
โโโ styles.css # Styling and themes
โโโ visualization.js # Frontend logic and API calls
โโโ PREDICTION_INTEGRATION.md # Integration documentation
โโโ README.md # This file
- Python 3.9 or higher
- pip package manager
- Modern web browser (Chrome, Firefox, Safari, Edge)
git clone https://github.com/rehanxt5/ai-powered-student-insights.git
cd ai-powered-student-insightspython3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activatepip install flask flask-cors numpy scikit-learn pandasEnsure the following model files exist:
ls backend/regression_model.pkl
ls backend/student_dropout_random_forest.pklpython backend/regression-main.pyServer will run on: http://localhost:5001
python backend/main.pyServer will run on: http://localhost:5000
open index.htmlpython3 -m http.server 8000
# Navigate to http://localhost:8000Endpoint: POST http://localhost:5001/predict
Request Body:
{
"features": [
7, // Hours Studied (0-24)
85, // Previous Scores (0-100)
1, // Extracurricular Activities (0=No, 1=Yes)
8, // Sleep Hours (0-24)
5 // Papers Practiced (0-100+)
]
}Response:
{
"predicted_performance": 77.88857895121386
}Health Check:
GET http://localhost:5001/healthEndpoint: POST http://localhost:5000/predict
Request Body:
{
"age": 18,
"gpa": 3.5,
"gender_encoded": 1,
"attendance_rate": 85.5,
"assignment_submission_rate": 90.0,
"quiz_completion_rate": 88.0,
"time_spent_on_learning_platform": 120.5,
"login_frequency": 15
}Response:
{
"prediction": 0, // 0 = No dropout risk, 1 = At risk
"features": { /* echo of input */ }
}Health Check:
GET http://localhost:5000/healthPurpose: Predict student performance index (0-100)
Features (5):
- Hours Studied
- Previous Exam Scores
- Extracurricular Participation
- Sleep Hours
- Practice Papers Completed
Training Data: Student_Performance.csv (10,000+ records)
Normalization: Z-score standardization
Model File: regression_model.pkl
Purpose: Identify students at risk of dropping out
Features (8):
- Age
- GPA
- Gender (encoded)
- Attendance Rate
- Assignment Submission Rate
- Quiz Completion Rate
- Time on Learning Platform
- Login Frequency
Training Data: cleaned_student_data.csv
Model File: student_dropout_random_forest.pkl
- Clean, modern interface with gradient design
- Real-time data loading and visualization
- Interactive charts and tables
- User-friendly form with validation
- Instant AI predictions
- Color-coded results:
- ๐ 90-100: Excellent (Green)
- โ 75-89: Good (Blue)
โ ๏ธ 60-74: Moderate (Orange)- ๐ด <60: Needs Support (Red)
- Individual quiz scores breakdown
- Performance metrics
- Visual progress indicators
curl -X POST http://localhost:5001/predict \
-H "Content-Type: application/json" \
-d '{"features": [7, 85, 1, 8, 5]}'Expected Output:
{"predicted_performance": 77.88857895121386}curl -X POST http://localhost:5000/predict \
-H "Content-Type: application/json" \
-d '{
"age": 18,
"gpa": 3.5,
"gender_encoded": 1,
"attendance_rate": 85.5,
"assignment_submission_rate": 90.0,
"quiz_completion_rate": 88.0,
"time_spent_on_learning_platform": 120.5,
"login_frequency": 15
}'# Kill process on port 5001
lsof -ti:5001 | xargs kill -9
# Kill process on port 5000
lsof -ti:5000 | xargs kill -9- Ensure
flask-corsis installed - Verify
CORS(app)is called in Flask apps
# Check model files exist
ls -la backend/*.pkl# Reinstall dependencies
pip install flask flask-cors numpy scikit-learn pandas- ๐ Monitor class performance trends
- ๐ Identify struggling students early
- ๐ Track engagement metrics
- ๐ก Make informed intervention decisions
- ๐ Reduce dropout rates
- ๐ Analyze program effectiveness
- ๐ฏ Allocate resources efficiently
- ๐ Improve student outcomes
- ๐ฌ Study learning patterns
- ๐ Validate educational interventions
- ๐ค Experiment with ML models
- ๐ Publish data-driven insights
- User authentication and role-based access
- Real-time data updates with WebSockets
- Export reports as PDF/Excel
- Email alerts for at-risk students
- Mobile app (React Native)
- Integration with LMS platforms
- Advanced ML models (Deep Learning, XGBoost)
- A/B testing framework
- Multi-language support
- Dark mode theme
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch
git checkout -b feature/AmazingFeature
- Commit your changes
git commit -m 'Add some AmazingFeature' - Push to the branch
git push origin feature/AmazingFeature
- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Rehan
- GitHub: @rehanxt5
- Repository: ai-powered-student-insights
- Chart.js - Beautiful, responsive charts
- Flask - Lightweight web framework
- Scikit-learn - Machine learning toolkit
- Educational Data Community - Inspiration and datasets
For questions or issues:
- ๐ Open an Issue
- ๐ฌ Start a Discussion
โญ Star this repo if you find it helpful!
Made with โค๏ธ and โ by Rehan