SkillGap AI is a full-stack career development platform that helps job seekers understand how their current skills align with job descriptions and identify what they need to learn next.
Paste a job description, compare it against your resume skills, and get a personalized skill gap analysis, a prioritized learning roadmap, and interview preparation resources.
The platform uses a deterministic, rule-based engine for skill extraction, matching, scoring, and roadmap generation. No third-party AI API or API key is required.
π Launch SkillGap AI
| Feature | Description |
|---|---|
| π Resume Skill Extraction | Paste resume text or upload a PDF to extract and edit your skills. |
| π― Job Description Analysis | Calculate a weighted match score and identify strong, adjacent, and missing skills. |
| πΊοΈ Personalized Learning Roadmap | Get prioritized learning tasks with estimated days, dependencies, and free tutorials. |
| π§ Interview Preparation | Practice basic, intermediate, project-based, and job-specific questions with answer pointers. |
| π Recruiter Scorecard | View strengths, skill gaps, readiness metrics, and export a printable scorecard. |
| π Shortlisting Insights | Identify frequently requested skills and recurring gaps across analyzed jobs. |
| βοΈ Job Comparison | Compare two job opportunities using a skill matrix and match results. |
| π Application Tracker | Track applications, interview stages, rejections, offers, dates, and notes. |
| π Readiness Timeline | Monitor weekly changes in average match scores, skills, and job analysis activity. |
- React 19
- TypeScript (strict)
- Vite
- Tailwind CSS v4
- shadcn/ui
- TanStack Query
- Recharts
- Python 3.11
- FastAPI
- Pydantic v2
- Motor (async MongoDB)
- pypdf
- PyJWT and passlib
- MongoDB
- Email/password authentication
- JWT stored in an HTTP-only cookie
- Rule-based skill extraction and matching
- Weighted scoring and skill categorization
- Dependency-based learning roadmaps
- Interview question bank and curated learning resources
- Extract skills from resume text or an uploaded PDF.
- Analyze the job description to identify required skills.
- Match existing skills against job requirements.
- Calculate a weighted match score and identify skill gaps.
- Generate a prioritized learning roadmap with estimated learning days.
- Recommend interview preparation questions and learning resources.
Note: SkillGap AI uses a deterministic rule-based engine rather than a third-party generative AI API.
Follow these steps to run SkillGap AI locally.
- Python 3.11+
- Node.js 20+
- MongoDB running locally
- Yarn
git clone https://github.com/Harshitha0501/skillgap-ai.git
cd skillgap-aicd backend
python -m venv .venvActivate the virtual environment:
Windows:
.venv\Scripts\activatemacOS/Linux:
source .venv/bin/activateInstall dependencies:
pip install -r requirements.txtConfigure environment variables:
cp .env.example .envUpdate .env with your MongoDB connection, database name, CORS settings, and JWT secret.
Optionally seed demo data:
python seed.pyStart the backend:
uvicorn server:app --reload --port 8001Open a second terminal:
cd frontend
yarn install
yarn devThe frontend runs at:
http://localhost:3000
The backend API runs at:
http://localhost:8001
After running the seed script, use the following demo account:
- Email:
demo@skillgap.ai - Password:
demo1234
Create a .env file inside the backend directory:
MONGO_URL="mongodb://localhost:27017"
DB_NAME="app"
CORS_ORIGINS="*"
JWT_SECRET="change-me"Use a secure secret and appropriate CORS settings for production deployments.
All API routes are mounted under /api.
| Method | Endpoint | Purpose |
|---|---|---|
| POST | /api/auth/signup |
Register a user |
| POST | /api/auth/login |
Log in |
| POST | /api/auth/logout |
Log out |
| GET | /api/auth/me |
Get current user |
| PUT | /api/auth/me |
Update user profile |
| GET | /api/skills |
Retrieve skills |
| POST | /api/resume/parse |
Parse resume text |
| POST | /api/resume/upload |
Upload and parse a resume |
| POST | /api/skills/learn |
Update learned skills |
| POST | /api/analyses |
Create a job analysis |
| GET | /api/analyses |
List analyses |
| GET | /api/analyses/{id} |
Get an analysis |
| DELETE | /api/analyses/{id} |
Delete an analysis |
| PATCH | /api/analyses/{id}/application |
Update application status |
| GET | /api/insights |
Retrieve insights |
| POST | /api/compare |
Compare job opportunities |
| GET | /api/progress |
Retrieve progress data |
The application uses MongoDB collections:
- users: User profiles, credentials, skills, experience, and resume text.
- analyses: Job descriptions, scores, skill matches, roadmaps, interview questions, and application tracking details.
- progress: Weekly snapshots of match scores, skills, job counts, and activity.
| Category | Weight |
|---|---|
| Languages | 30% |
| Frameworks | 25% |
| Databases | 15% |
| Cloud / DevOps | 15% |
| Architecture | 8% |
| Testing | 4% |
| Tooling | 3% |
Adjacent skills count as half a match.
Readiness = 0.45 Γ Match + 0.20 Γ Technical + 0.15 Γ Experience + 0.10 Γ Project + 0.10 Γ Keywords
Verdict thresholds are 80% and 65%.
Run the backend tests:
cd backend
pytestExplore the main features of SkillGap AI.
skillgap-ai/
βββ backend/
β βββ lib/
β β βββ skills.py
β β βββ engine.py
β β βββ questions.py
β β βββ resources.py
β βββ server.py
β βββ seed.py
β βββ requirements.txt
βββ frontend/
β βββ src/
β βββ package.json
β βββ vite.config.ts
βββ screenshots/
βββ skillgap-ai-banner.png
βββ README.md
Harshitha C.
- GitHub: Harshitha0501
- Repository: SkillGap AI
- Live Demo: Launch SkillGap AI
SkillGap AI β Understand your skill gaps. Build your roadmap. Prepare for your next opportunity.







