Inspiration
Not everyone can afford a career coach or has access to professional mentors who can guide them through career growth. This creates an unfair disadvantage for students, first-generation job seekers, and people from underrepresented communities who may not know what skills they’re missing or how to build them. I built SkillGap to level the playing field—offering personalized, resume-based feedback that’s typically only available through expensive coaching. By identifying both hidden skills and growth opportunities, SkillGap helps people take control of their career development, for free.
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.
- Translate SkillGap into other languages to serve more communities.
- Partner with nonprofits and education orgs to provide this tool to underserved populations.
Built With
- flask
- gemini-api
- html
- javascript
- pypdf2
- python
- tailwind-css
Log in or sign up for Devpost to join the conversation.