Why I Built This
Resumes are messy. They’re full of story, structure, and nuance — but traditional systems often reduce them to keyword matches. I wanted to see if generative AI could do better.
This project explores how GenAI can interpret resumes the way a good recruiter would: by extracting implied skills, comparing them to real job profiles, and returning matches that make sense — with reasoning.
What It Does
This prototype takes a resume summary (or full resume), prompts Gemini to infer skills, embeds those skills using Google’s text-embedding-004
model, and matches them to job roles from the O*NET database via semantic vector search.
It returns the top role matches — then asks Gemini to evaluate how well the best match aligns with the resume’s inferred skills.
Techniques Used
This project demonstrates 8 GenAI capabilities:
- Few-shot prompting to extract structured skills from a resume
- Structured output via JSON to feed into vector search
- Document understanding of job roles using O*NET
- Long context window to support full resumes
- Embeddings using Gemini’s
text-embedding-004
- Vector search with ChromaDB
- Light retrieval-augmented generation, grounding resume understanding in real roles
- GenAI evaluation where the model scores and explains the match
How It Works
- Resume text is passed into a few-shot prompt
- Gemini returns a JSON list of inferred skills
- Those skills are embedded into a vector
- We search a pre-embedded vector store of O*NET roles
- The best matches are shown — and the top match is scored and explained by Gemini
Example Output
Input Resume:
Built data pipelines with Python and SQL. Created dashboards in Tableau.
Led A/B testing and KPI development for marketing campaigns.
Inferred Skills:
["Data Visualization", "SQL", "Python Programming", "ETL Process", "Airflow",
"PostgreSQL", "Snowflake", "HubSpot", "KPI Development", "Data Analysis",
"Business Intelligence", "Cross-functional Collaboration",
"Problem-Solving", "Communication", "Presentation Skills"]
Match Evaluation for 'Data Warehousing Specialists':
Score: 8 / 10
Reason: The Data Warehousing Specialist role is a good fit, but not a perfect match for the provided resume skills. Many skills are strongly aligned, particularly those related to data manipulation, processing, and analysis (SQL, Python, ETL Process, Airflow, PostgreSQL, Snowflake, Data Analysis, KPI Development). The candidate's experience with data visualization and business intelligence tools further strengthens their suitability. However, the resume highlights HubSpot, a marketing automation platform, which isn't typically a core requirement for a Data Warehousing Specialist. While cross-functional collaboration, problem-solving, communication, and presentation skills are valuable in any role, they are not specific technical skills directly related to data warehousing. The absence of skills like data modeling, database design, or experience with specific cloud data warehousing platforms (beyond Snowflake) might be a slight concern depending on the specific job requirements. Therefore, while the candidate possesses a strong foundation, the lack of explicitly mentioned data warehousing-specific skills prevents a perfect match.
From Prototype to Product
With high-quality resume and job data, this could power:
- Smart ATS filters
- Resume feedback tools
- Job seeker dashboards
- Recruiter candidate search
What I Learned
This project taught me how to blend generative and retrieval systems to build interpretable tools that do more than chat — they reason, match, and explain. The interpretability layer was the key.
Try it or Fork It
You can test the pipeline interactively at the bottom of the notebook. Paste a resume, and get a role match + score — all powered by GenAI.