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:

  1. Few-shot prompting to extract structured skills from a resume
  2. Structured output via JSON to feed into vector search
  3. Document understanding of job roles using O*NET
  4. Long context window to support full resumes
  5. Embeddings using Gemini’s text-embedding-004
  6. Vector search with ChromaDB
  7. Light retrieval-augmented generation, grounding resume understanding in real roles
  8. GenAI evaluation where the model scores and explains the match

How It Works

  1. Resume text is passed into a few-shot prompt
  2. Gemini returns a JSON list of inferred skills
  3. Those skills are embedded into a vector
  4. We search a pre-embedded vector store of O*NET roles
  5. The best matches are shown — and the top match is scored and explained by Gemini

Activity Diagram

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"]

Extracted Skills and Matched Roles

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.

Evaluation Output


From Prototype to Product

With high-quality resume and job data, this could power:


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.

👉 View the full notebook on Kaggle
Watch the video