Built an end-to-end pipeline that pulls live job postings from the Adzuna API, cleans and normalizes the data, and stores structured records in Supabase. Trained a Ridge regression model to predict salaries, benchmarked against baseline models for honest accuracy. Exposed everything through an interactive Flask/Plotly dashboard so results are usable, not stuck in a notebook.