Inspiration

We were inspired by the challenges students face when they fall behind in school without anyone noticing until it’s too late. As students ourselves, we’ve seen how a bit of early support can make a huge difference. We wanted to build a tool that gives parents, teachers, and schools a simple way to identify students who might be at risk and help them early.

What it does

Sociolo is an AI-powered app that predicts whether a student is likely to pass or fail, based on their early-term grades, study habits, absences, and other simple inputs. The app also provides clear confidence scores and visual explanations using SHAP values, so educators and parents can understand why a student might be struggling.

How we built it

We built Sociolo using:

  • Streamlit for the interactive web interface
  • XGBoost for training a predictive classification model
  • SHAP to explain model predictions visually
  • Pandas and Matplotlib for data handling and plotting
  • Lottie animations for a polished and engaging user experience

We trained our model on merged student performance datasets for math and Portuguese subjects. The app is fully local and lightweight ideal for use in schools without advanced infrastructure.

Challenges we ran into

  • Feature mismatches: We had to carefully align training features with the input features to avoid prediction errors.
  • Missing libraries and dependencies: Getting XGBoost and SHAP working together smoothly on macOS was tricky due to OpenMP and visualization issues.
  • Explaining predictions: Making SHAP visualizations meaningful and accessible for non-technical users took effort and iteration.
  • UI simplicity: Striking the right balance between useful detail and simplicity was a constant design challenge.

Accomplishments that we're proud of

  • Built a fully working prediction and explanation tool from scratch.
  • Created a smooth and user-friendly interface using Streamlit.
  • Integrated SHAP to make AI decisions explainable and transparent.
  • Learned how to debug real-world ML issues and fix them fast.

What we learned

  • How to train and deploy a classification model with real-world data.
  • How to build beautiful and functional interfaces in Streamlit.
  • The importance of matching feature sets between training and prediction.
  • How to use SHAP for model interpretability in an applied setting.
  • The power of clear visuals to turn data into decisions.

What's next for Sociolo

  • Add more features like school support services, family background, and daily routines.
  • Let schools upload CSV files to predict results for entire classrooms.
  • Train subject-specific models for better accuracy.
  • Add alerts and recommendations based on prediction results.
  • Expand beyond academic performance to include emotional well-being and motivation.

Built With

Share this project:

Updates