Skip to content

JavierPachas/stackoverflow2025

Repository files navigation

Stack Overflow 2025 Salary Explorer & Predictor

Streamlit app that visualizes Stack Overflow Developer Survey 2025 salary data and predicts compensation based on country, education, and experience.

Features

  • Explore charts: salary by country, education level, and years of experience (cleaned and capped at 0–50 years).
  • Prediction form: quick salary estimate using the trained pipeline; falls back to retraining if the bundled pickle is missing or incompatible.
  • Shared preprocessing so exploration and prediction stay consistent.

Project structure

  • app.py – Streamlit entrypoint with simple navigation.
  • explore_page.py – Charts and aggregation views.
  • predict_page.py – User inputs and model loading/retraining logic.
  • processing.py – Data loading and normalization utilities.
  • data/survey_results_public.csv – Survey data (not committed; add your copy).
  • saved_steps.pkl – Trained pipeline (optional; created on first run if absent).
  • Dataset source: Stack Overflow Developer Survey 2025.

Quickstart

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt  # or pip install streamlit scikit-learn pandas numpy matplotlib
streamlit run app.py

Usage

  • Open the app (default: http://localhost:8501).
  • Explore tab: browse salary distributions by country, education, and experience.
  • Predict tab: choose country, education level, and years of experience to get an estimated salary.

Notes

  • If saved_steps.pkl cannot be loaded, the app retrains a lightweight model on startup and saves a clean pickle for future runs.
  • Experience values are cleaned and clipped to 0–50 years to avoid survey outliers.

Author

Maintained by javierpachas.

About

End-to-end ML project: EDA, preprocessing pipeline, and salary prediction model deployed as an interactive Streamlit app using 2025 Stack Overflow Developer Survey data.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors