Inspiration

A lot of people feel lost when it comes to their careers. They might know they want to move forward, whether that means landing a job or advancing in their current path, but they don’t know what skills they’re missing or how to start closing those gaps. Without guidance, the journey from “where I am now” to “where I want to be” can feel unclear and overwhelming.

SkillGap was built to serve as that guide. By showing users the skills they already have, the ones they need, and concrete ways to build them, it helps create a clearer bridge from current abilities to meaningful employment and career growth.

What it does

SkillGap analyzes a resume and:

  • Extracts explicit skills from the “Skills” section.
  • Infers additional skills from experiences, projects, and achievements.
  • Compares detected skills with expectations in a target job field.
  • Suggests missing skills, and provides learning resources for each one—using trusted platforms like Coursera, freeCodeCamp, and official documentation.

How I built it

I built SkillGap using:

  • Frontend: Tailwind CSS for a clean, responsive UI.
  • Backend: Flask with Python for resume parsing and AI integration.
  • AI: Google’s Gemini API for skill extraction, inference, and recommendations.
  • PDF Handling: PyPDF2 for extracting text from uploaded resumes.
  • Cross-Origin: Flask-CORS for safe frontend–backend communication.

Challenges I ran into

  • Getting Gemini to infer skills accurately without mixing in irrelevant ones.
  • Ensuring consistent structured JSON output to avoid broken responses.
  • Preventing duplicate or misleading skills from showing as “missing.”
  • Making sure Gemini didn't hallucinate resources or return Google search links.

Accomplishments that I'm proud of

  • Building a fully functional AI-powered resume analyzer.
  • Getting the app to infer both technical and soft skills.
  • Integrating real learning resources instead of generic suggestions.
  • Designing a clean UI that makes the experience smooth for users.

What I learned

  • How to use Gemini with structured schemas to enforce reliable outputs.
  • Balancing user experience with technical constraints (like token limits).
  • Prompt engineering is critical when working with LLMs.

What's next for SkillGap

  • Improving the inference logic to better capture soft skills and domain-specific skills.
  • Expanding to support multiple file formats beyond PDF.
  • Analyzing full job descriptions and matching user resumes directly, creating personalized skill-gap reports.
  • Providing career roadmap visualizations that show “you are here → here’s the bridge → here’s the goal.”
  • Growing the resource library with curated, high-quality links.

Built With

Share this project:

Updates