Project Saathi: AI-Powered Student Success Dashboard
Team Codekuduku Vishwas, Amogh, Shreya Hackathon: Omnitrics Date: 27/10/2025
- Project Goal
Our project, "Saathi" (meaning 'companion'), is an 8-hour hackathon submission designed to tackle student disengagement in higher education.
Based on the problem statement, 22-28% of students disengage yearly. We built an AI-powered predictive tool that analyzes academic, behavioral, and socio-economic data to generate an "Engagement Risk Score." This allows faculty to intervene before a student's performance declines, providing the right help at the right time.
- Final Deliverables
This repository contains all 5 required deliverables:
cleaned_dataset.csv: The cleaned, pre-processed, and one-hot encoded dataset.
student_risk_model.pkl: The final, trained RandomForestClassifier model.
app.py: The complete, interactive Streamlit dashboard.
README.md: The current file.
presentation.pptx: Our summary presentation and demo.
requirements.txt: All necessary Python libraries.
- Tech Stack
Data Science: Python, Pandas, Scikit-learn
ML Model: RandomForestClassifier (chosen for its high accuracy and built-in feature importance)
Dashboard: Streamlit
Development: Google Colab (for model training), VS Code
- Our 8-Hour Workflow: The "Factory & Showroom" Model
We used a 3-person parallel workflow to build this entire project in 8 hours:
Phase 1: The "Factory" (Amogh - ML Lead):
Amogh worked in Google Colab to clean the raw data, perform one-hot encoding, and handle missing values, outputting cleaned_dataset.csv. He trained a RandomForestClassifier on this data and saved the student_risk_model.pkl. He also generated our "Explainable AI" (XAI) plot showing which features (e.g., attendance_rate, past_failures) were the most important predictors.
Phase 2: The "Showroom" (Shreya - Dashboard Lead):
Shreya worked in parallel to build the app.py Streamlit dashboard before the model was ready. She used mock data to build the complete UI, including the sidebar and dashboard pages.
Phase 3: The "Hand-off" (Vishwas - Project Lead):
At the 4-hour mark, Amogh delivered his "engine" (.pkl file, .csv data, and features.txt contract). Shreya plugged these real files into her "showroom" (the Streamlit app) for a fast, seamless integration. Vishwas managed the schedule, wrote this README, and built the final presentation.pptx.
- Key Features of our Dashboard (app.py)
Our dashboard is a multi-page Streamlit app: Live Student Predictor: A sidebar where faculty can enter a single student's details (CGPA, attendance, etc.). The app feeds this data to the ML model and instantly returns a "HIGH RISK" or "LOW RISK" prediction.
At-Risk Student Dashboard: This page loads the entire cleaned_dataset.csv, runs every student through the model, and displays a sortable table of the "Top At-Risk Students." This gives faculty a priority list for interventions.
Explainable AI (XAI): We include the "Feature Importance" chart, which shows why the model makes its decisions, building trust and guiding policy.
- How to Run the App?
Clone this repository (or download the .zip file). Open your terminal in the project folder.
Install all required libraries using the requirements.txt file:
pip install -r requirements.txt
Run the Streamlit app:
streamlit run app.py
Open your browser to the local URL (usually http://localhost:8501)