Skip to content
Sangam Gupta
All work

Student Marks Predictor

Predicts a student's final exam marks from 18 academic, study and lifestyle factors.

Status
Demo offline right now
Stack
Python, scikit-learn, FastAPI, Pydantic, AWS EC2, Streamlit
Links
Open the web appAndroid app (closed testing)Code

Try the model

Change study habits, marks and background to see the predicted final exam marks, and what moves them.

Loading the model…

How it fits together

  1. 18 student features
  2. scikit-learn regression
  3. FastAPI on AWS EC2
    • Streamlit app
    • Android app

scikit-learn regression pipeline served from a FastAPI backend on AWS EC2 to a Streamlit app and an Android app in closed testing on Google Play (API design and Android app built with AI assistance).

How I built it

  1. Build a scikit-learn pipeline: a ColumnTransformer with StandardScaler for the ten numeric inputs and OneHotEncoder for the eight categorical ones, then linear regression, saved with joblib.
  2. Serve it from a FastAPI backend with a Pydantic-validated /predict endpoint, running on AWS EC2 (Ubuntu) as a systemd service. I designed the API with AI assistance.
  3. Call the same endpoint from a Streamlit web app and from a native Android app built with AI assistance, now in closed testing on Google Play.

Ask about Student Marks Predictor

Answers come from this case study and its code on GitHub.