Inspiration

Women in the workforce are losing money every single year to the gender pay gap, and most of them never see it coming. The advice out there is either overwhelming or too vague: "negotiate your salary" or "know your worth" without giving you the actual data to do anything about it. We kept seeing women accept offers without knowing whether they were being underpaid, with no tool that could show them the full picture - not just a salary number, but how life events, role assignments, and time compound the gap over an entire career. We wanted to build something that takes your real profile and turns the gap into something visible, personal, and actionable. That's where HerPath came from.

What it does

HerPath takes your profile: age, role, GPA, experience, starting salary, networking score, and life events, and generates a personalized salary trajectory showing how your earnings compare to the national average and to an equivalent male peer. It shows how life events like maternity leave, marriage, and being assigned admin tasks bend your salary curve over time. It surfaces real job matches powered by the Adzuna API with transparent salary breakdowns showing women's average vs. men's average pay at each company, filterable by on-site, hybrid, and remote, with direct apply links. A task distribution analysis shows the percentage of non-promotable work disproportionately assigned to women and how it quietly stalls career growth. And we don't just leave you with the problem, the job matches are a direct response to the gap we just showed you, so you can act on the data immediately.

How we built it

Frontend (React + Vite): Interactive UI with Recharts for salary trajectory and bar charts, a searchable role autocomplete with 700+ real tech job titles pulled from a real dataset, a life event impact timeline, and job cards with side-by-side gender salary comparisons.

Backend (FastAPI + Python): A machine learning pipeline built with scikit-learn that clusters users by profile similarity using a Gaussian Mixture Model and returns gender-stratified salary predictions and promotion probability scores. Connected to the frontend via async API calls with real model inference on every submission.

Database (Supabase): Stores anonymized user profile submissions in PostgreSQL to grow the dataset over time.

Data: Kaggle salary dataset covering education level, role, years of experience, gender, and frequency of promotion in order to train and validate the ML model.

Machine Learning: Gaussian Mixture Model for probabilistic clustering based on role, initial pay, university GPA, starting salary, and internships. We assigned and normalized a gender pay-gap score per cluster, multiplied by promotion frequency in that role, and compounded it over time to generate the trajectory. Job Matching: Adzuna API to surface real job postings with gender salary comparison data layered on top.

Challenges we ran into

One of the bigger technical challenges was getting the hero page flow to behave correctly. React state resets on refresh, but sessionStorage does not, so we had to use beforeunload events to make sure refreshing the page always returns to the title screen while clicking Get Started locks you into the app flow. It took several iterations to get right without triggering cascading render errors.

On the ML side, we wanted to go beyond a simple clustering model. We learned Gaussian Mixture Models over the course of the hackathon, which pushed us well outside our comfort zone, but it proved more accurate than simpler approaches like kNN because of its probabilistic nature rather than relying on trivial distance calculations.

The hardest challenge wasn't technical at all, it was making salary data feel personal. A chart showing a gap is easy to dismiss. We went through many iterations on the insight strip, the life event timeline, and the job card layout to make sure the numbers actually land as your story, not just statistics.

Accomplishments that we're proud of

We designed a clean and honest interface that makes something usually buried in reports, the gender pay gap, impossible to ignore. The job card salary comparison showing Women average, Men average, and Your gap side by side with a progress bar was one of our favorite design moments because it communicates the inequality instantly.

One of our favorite technical wins was connecting a real ML model to the frontend under hackathon time pressure. The stats page runs actual Gaussian Mixture Model inference on your profile and returns cluster-specific salary and promotion probability predictions.

We're also proud that HerPath doesn't just show you the problem and stop there. The job matches are a direct next step - real postings, filtered by work type, with salary transparency built in so you can compare opportunities on equity before you even apply.

What we learned

Most of the ML work pushed us into new territory. We had experience with supervised learning but learning and implementing Gaussian Mixture Models from scratch during a hackathon forced us to really understand probabilistic clustering at a deeper level. We also grew a lot on the frontend side - building smooth async flows, handling loading states gracefully, and designing a UI that makes complex data feel simple.

We learned that salary inequality is deeply documented. Every projection we show is backed by real data - our Gaussian Mixture Model trained on a Kaggle education and career success dataset, live job salary data from the Adzuna API, and a career timeline model that compounds salary growth and promotion velocity over 20 years with real gender-stratified differences baked in. Surfacing that data in a way people actually engage with is as much a design problem as a technical one.

Working as a team under pressure taught us to divide ownership clearly, communicate blockers fast, and make decisions together even when we disagreed on approach.

What's next for HerPath

In the future we hope to build a community feed where women can share their salary experiences and stories because one of the most powerful things we can do is show someone they are not alone in this.

We also want to add a voice feature so users can talk through their situation and get guidance without filling out a form, making HerPath accessible in more moments like right before a negotiation.

We also connected with a sponsor during the hackathon who expressed interest in taking HerPath further and we're excited to see where that goes.

Built With

Share this project:

Updates