CareerPulse – AI-Powered Labor Market Intelligence
Inspiration
Every day, millions of people ask themselves: "What career should I pursue? Am I qualified? What skills do I need to get there?"
The answer usually comes from expensive career coaches, outdated advice, or gut feeling. We wanted to change that.
CareerPulse was inspired by the idea that career decisions should be data-driven, not guesswork. With the O*NET database (the US government's comprehensive occupational data), we realized we could build a platform that gives anyone access to the same intelligence that Fortune 500 companies use for workforce planning.
What I Learned
Building CareerPulse was a crash course in:
- ML in production – deploying cosine similarity, XGBoost, and Dijkstra's algorithm
- Data engineering – processing 283,000+ skill rows from O*NET flat files
- AI integration – hooking up Groq's API for conversational career guidance
- Full-stack development – FastAPI + MySQL + vanilla JS in one cohesive system
- The power of O*NET – the depth of labor market data available is mind-blowing
How I Built It
Backend
- FastAPI served as the REST API layer
- SQLAlchemy ORM connected to MySQL 8.0
- O*NET 29.0 flat files were imported via a custom ETL pipeline
- 5 ML models power the intelligence:
- Career Matcher – cosine similarity to compare user skills against 923 occupations
- Skill Gap Detector – weighted delta scoring to identify readiness gaps
- Demand Forecaster – XGBoost classifier predicting High Growth/Stable/Declining
- Path Optimizer – Dijkstra's algorithm on a NetworkX graph for career transitions
- Skill Clusterer – K-Means + TF-IDF to detect emerging skill momentum
Frontend
- Pure HTML/CSS/JS – no frameworks, just speed
- Plotly.js for interactive charts
- Design system inspired by modern AI interfaces
AI
- Groq API (Llama 3.3-70B) for conversational career advice
- System prompts grounded in O*NET data
Challenges I Faced
CORS and Authentication – Getting the frontend and backend to play nicely required a custom middleware that adds CORS headers to every response, including errors.
Password Hashing –
bcrypthad backend availability issues on Windows; switched topbkdf2_sha256for reliability.Foreign Key Constraints – Importing O*NET data required disabling foreign key checks temporarily to delete and re-insert occupation records.
Skill Gap Analysis – Initially the analyzer showed 0% readiness because users couldn't rate all 161 skills. Fixed it by showing only the top 20 most important skills and calculating readiness based only on those rated.
AI Integration – Getting Groq to return structured, data-backed responses required careful prompt engineering and fallback mechanisms.
What It Does
- ** Career Match** – Rate your skills and get matched to 923 occupations with similarity scores
- Skill Gap Analyzer – See exactly what skills you're missing for your dream role, prioritized by impact
- ** Demand Forecasting** – Know if your target career is growing, stable, or declining
- ** Career Path Explorer** – Find the shortest transition path between any two occupations
- ** AI Advisor** – Conversational career guidance powered by Groq, grounded in O*NET data
What's Next
- Real-time labor market data via BLS API
- Resume parsing to auto-fill skills
- Employer dashboards for workforce planning
- Mobile app with push notifications for skill trends
Log in or sign up for Devpost to join the conversation.