How I Built an ML Dropout Predictor with XGBoost & Streamlit

A local academy had a familiar problem: teachers only noticed a struggling student at exam time. By then, six weeks of missed learning had compounded. I was asked to build something that would catch the signal earlier—without adding admin work for teachers.

The problem, framed

Two constraints shaped everything: data volume (about 120 students, weekly attendance and quiz grades) and human interface (4 teachers, none technical). A 92%-accurate model that nobody uses is worse than a 78%-accurate dashboard that gets looked at.