Streamlit app that visualizes Stack Overflow Developer Survey 2025 salary data and predicts compensation based on country, education, and experience.
- 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.
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.
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- 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.
- If
saved_steps.pklcannot 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.
Maintained by javierpachas.