Marg Darshan is a Flask-based career recommendation web application that predicts a suitable job profile for a student based on their academic scores, problem-solving and creativity ratings, hackathon experience, and top technical skills.
The app combines several machine learning models saved in the models/ directory and uses majority voting to provide a final suggestion.
- Hosts a web interface to collect student performance data
- Sends the input to a Flask
/predictendpoint - Loads trained models from
models/ - Returns one or more predicted job profiles
The project loads and uses the following models:
- Decision Tree
- Random Forest
- Linear Regression
- K-Nearest Neighbors (KNN)
- Support Vector Machine (SVM)
Note: The gradient boosting model file exists in
models/gradient_boosting_model.jolib, but its prediction is currently commented out inpred.py.
The interface collects:
- Academic marks for:
- Data Structure
- Database management
- Operating System
- Computer Network
- Mathematics
- Aptitude
- Communication Skills
- Hackathon count
- Problem solving rating (1-10)
- Creativity rating (1-10)
- Top 2 selected skills from the available options
app.py- Flask web server and/predictroutepred.py- prediction logic, model loading, input encoding, and final votingrequirements.txt- Python dependenciestemplates/layout.html- front-end HTML templatestatic/JS/app.js- client logic for collecting form data and calling the APIstatic/CSS/main.css- front-end stylingmodels/- saved machine learning models used for prediction
- Create a virtual environment (recommended):
python3 -m venv venv source venv/bin/activate - Install dependencies:
pip install -r requirements.txt
Start the Flask server:
python app.pyThen open the browser at:
http://127.0.0.1:5000
- Enter your subject marks and hackathon count.
- Rate your problem solving and creativity skills.
- Select exactly two skills from the skill checklist.
- Submit the form to receive the recommended job profile(s).
- The app currently uses model files loaded from
models/. - Predictions are returned as a JSON array of career labels.
- If the UI or API behavior needs improvement, the main frontend flow is in
static/JS/app.jsand the backend logic is inpred.py.
Built with:
- Flask
- pandas
- numpy
- scikit-learn
- joblib
- scipy
- threadpoolctl
- gunicorn