Inspiration
Many qualified candidates get rejected before a human ever sees their resume - not because they lack skills, but because their resume doesn’t align with how Applicant Tracking Systems (ATS) parse job descriptions. This problem is invisible and frustrating: applicants rarely know what went wrong.
SkillSync was inspired by this gap. We wanted to build a tool that makes ATS behaviour transparent, helping users understand exactly which technical skills are missing and how they can improve their resume instead of guessing.
What it does
SkillSync analyses a resume against a job description from an ATS perspective. It: . Uses Gemini 3 to extract only technical skills from a job description . Compares those skills with the uploaded resume . Calculates an ATS-style match score . Clearly shows matched vs missing keywords . Generates AI-powered, actionable suggestions to improve the resume The focus is not just scoring, but guiding users on how to fix gaps.
How we built it
SkillSync is built with a clean, modular architecture:
Backend :
. FastAPI for a lightweight, high-performance API . Google Gemini 3 API (gemini-3-flash-preview) for: . Technical keyword extraction . Resume improvement suggestions . Deterministic Python logic for keyword matching to ensure reliability and explainability
Frontend :
. HTML, CSS, JavaScript . PDF.js for extracting resume text from PDFs . Chart.js for visualizing match scores and keyword distribution
Workflow
. User uploads a resume . User pastes a job description . Gemini 3 extracts technical skills . Backend compares resume and JD . Results and suggestions are displayed instantly
Challenges we ran into
Filtering non-technical words from job descriptions :
Job descriptions contain a lot of filler text. Prompt design had to be carefully tuned so Gemini extracted only meaningful technical skills.
Ensuring consistent AI output :
We enforced strict JSON-only responses from Gemini to avoid breaking the frontend.
Model and API changes :
Earlier models caused compatibility issues. Migrating to Gemini 3 Flash ensured stability, speed, and compliance with hackathon requirements.
Frontend–backend synchronization :
Making sure AI responses were displayed clearly and correctly required careful debugging.
Accomplishments that we're proud of :
. Successfully built a working end-to-end AI application . Integrated the latest Gemini 3 API in a meaningful way . Created a tool that solves a real, practical hiring problem . Delivered clear, explainable AI output instead of black-box results . Built a product that is both resume-worthy and hackathon-ready
What we learned :
. AI works best when combined with clear constraints and deterministic logic . Prompt engineering is crucial for production-quality AI systems . Clear UX is essential when presenting AI-generated insights . Stability and model selection matter as much as raw capability . Real-world AI projects require careful error handling and validation
What's next for SkillSync :
. Section-wise resume suggestions (Skills, Projects, Experience) . Semantic matching using embeddings instead of exact keyword matching . Multi-role comparison for a single resume . Hosted public version with user accounts . Downloadable resume improvement checklist SkillSync can grow into a full AI-powered career optimization platform.
Built With
- ai
- chart.js
- fastapi
- google-gemini-3-api-(gemini-3-flash-preview)
- html-&-css
- javascript
- json
- pdf.js
- python
- rest-apis
Log in or sign up for Devpost to join the conversation.