AI Salary Predictor & Market Trend Dashboard (Flask + XGBoost Final Year Project)
Back to ProjectBefore you touch the code, make sure you've got these installed. Nothing fancy here.
Clone it with git clone <your-repo-url> and then cd "ai job salary". Or, if Git isn't your thing, just download the ZIP and extract it, then open a terminal inside that folder.
Run python3 -m venv venv. Then activate it — the command's different depending on your OS:
source venv/bin/activate # macOS/Linux venv\Scripts\activate # Windows CMD venv\Scripts\Activate.ps1 # Windows PowerShell
Run pip install -r requirements.txt. This pulls in Flask, pandas, NumPy, scikit-learn, XGBoost, and joblib — give it a minute, XGBoost can take a bit to install.
This is the step people skip and then wonder why predictions don't work. Run jupyter notebook ai_salary_training.ipynb and execute all the cells. When it's done, check that these three files exist:
models/salary_predictor_pipeline.joblib models/model_metadata.json data/ai_jobs_salaries_clean.csv
The app will actually still start without them — you'll just see a "model not found" message on /predict and a fallback notice on /visualize instead of real data.
Run python3 app.py. Open http://127.0.0.1:5000 in your browser and you should see the home page with live stats and the ticker running.
If the notebook throws an error about a missing package, it's almost always because you ran it outside the virtual environment — make sure venv is activated in the same terminal you launch Jupyter from.
If /predict keeps showing "model not found" even after training, double-check the three files landed in the exact folders listed above — a misplaced joblib file is the usual culprit.
Go to /predict, fill in the eight fields, and submit. You should get a predicted salary number along with two charts underneath it — a comparison bar and a trend line. If those render, you're good.
Our team is here to assist you with installation and setup.