"From Day One to Done Right β Personalized Onboarding, Powered by AI"
Corporate onboarding is broken. Most organizations rely on static, one-size-fits-all training curricula that push every new hire through the same sequence of modules β regardless of their experience level, existing skills, or target role. The result? Experienced hires waste days sitting through material they already know, while junior employees are overwhelmed by advanced concepts they have no foundation for.
The cost is staggering β companies spend an average of 40+ hours per employee on generic onboarding, yet studies show that up to 30% of that time is wasted on redundant content. This isn't just an inconvenience; it translates to lost productivity, slower time-to-competency, higher early-stage attrition, and frustrated employees who feel their time isn't valued from day one.
SkillBridge AI is an AI-driven adaptive learning engine that transforms onboarding from a static checklist into a personalized, skill-gap-aware learning pathway. By analyzing a new hire's resume against a target job description, SkillBridge identifies exactly what each employee needs to learn β and builds a prerequisite-ordered, time-optimized training plan grounded in a curated course catalog.
- π Resume & JD Parsing β Extracts and normalizes skills with proficiency levels via Gemini 2.5 Flash
- π Embedding-Based Skill Gap Analysis β Computes precise gap scores using semantic similarity
- πΊοΈ Adaptive Pathway Generation β Builds prerequisite-aware learning paths using graph algorithms
- π§ Full Reasoning Trace β Explains every recommendation with step-by-step transparency
- π Time-Saved Metrics β Quantifies efficiency gains vs. standard onboarding
- π Zero Hallucinations β All recommendations grounded in a local course catalog via RAG
- β‘ AI-Powered Skill Extraction β Gemini 2.5 Flash parses resumes and job descriptions into structured skill profiles with proficiency levels
- π¬ Semantic Gap Detection β MiniLM-L6-v2 embeddings + cosine similarity produce precise gap scores per skill
- πΊοΈ AdaptPathβ’ Algorithm β Graph-based, topologically sorted learning pathways with prerequisite validation
- π§ Reasoning Trace Viewer β Step-by-step AI decision log showing why each course was selected, with confidence scores
- π Diagnostic Quiz Mode β Assess skills interactively without uploading a resume
- π Cross-Domain Support β Handles both Technical (Python, ML, Cloud) and Operational (Logistics, Safety, Leadership) roles
- β±οΈ Time-Saved Dashboard β Visual metrics comparing personalized vs. standard onboarding hours
- π Demo Mode β Pre-loaded personas (Junior Dev, Senior Analyst, Operations Manager) for instant evaluation
- π PDF Export β Download the complete personalized learning plan as a formatted PDF
- π Interactive Node Graph β React Flow-powered DAG visualization of course dependencies and pathway flow
- π¨ Dark-Theme UI β Premium glassmorphism design with smooth Framer Motion animations
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β FRONTEND (React 18 + Vite) β
β ββββββββββββ ββββββββββββ βββββββββββββ ββββββββββββββββββββ β
β β Upload β β Gap View β β Pathway β β Metrics Dash β β
β β Widget β β Table β β DAG Graph β β (Recharts) β β
β βββββββ¬ββββββ βββββββ¬βββββ βββββββ¬ββββββ ββββββββββ¬ββββββββββ β
β ββββββββββββββββΌββββββββββββΌββββββββββββββββββ β
β β Axios HTTP β
βββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€
β BACKEND (FastAPI + Uvicorn) β
β ββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββ β
β β /api/parse β β /api/analyzeβ β /api/pathwayβ β /health β β
β βββββββ¬βββββββ ββββββββ¬βββββββ ββββββββ¬βββββββ βββββββββββββ β
β β β β β
β βββββββΌβββββββ ββββββββΌβββββββ ββββββββΌβββββββ β
β β Parser β β Analyzer β β Pathway β β
β β (Gemini 2.5 Flash + β β (MiniLM + β β (NetworkX + β β
β β PyMuPDF) β β Sklearn) β β ChromaDB) β β
β ββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β ChromaDB Vector Store β β
β β (course_catalog.json β 40 modules) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Frontend Layer β React 18 SPA with React Flow (DAG visualization), Recharts (metrics), and Framer Motion (animations). Communicates via Axios HTTP to the backend.
API Layer β FastAPI with three core endpoints (/api/parse, /api/analyze, /api/pathway) plus health check. Pydantic models enforce request/response validation.
Core Engine β Parser (Gemini 2.5 Flash + PyMuPDF), Analyzer (sentence-transformers + scikit-learn), and Pathway Builder (NetworkX graph + ChromaDB RAG retrieval).
Data Layer β ChromaDB vector store indexes 40 course modules with embeddings for semantic retrieval. The catalog spans 8 domains from Python Programming to Safety & Compliance.
- Land on Dashboard β User arrives at the SkillBridge home page (or selects a Demo Mode persona)
- Upload Documents β Drag-and-drop a PDF resume + paste the target job description
- AI Parsing β Gemini extracts structured skill profiles with proficiency levels from both documents
- Gap Analysis β System computes semantic similarity between resume skills and JD requirements, producing gap scores and priority classifications
- Pathway Generation β AdaptPathβ’ algorithm builds a prerequisite-ordered, topologically-sorted course sequence from the catalog
- Review Results β Interactive dashboard shows skill gap table, DAG-based pathway graph, reasoning trace, and time-saved metrics
- Export & Go β Download the personalized learning plan as a PDF and begin onboarding
| Technology | Purpose | Version |
|---|---|---|
| Python | Core runtime | 3.11+ |
| FastAPI | REST API framework | 0.111.0 |
| Google Generative AI | Gemini 2.5 Flash integration | 0.8.3 |
| sentence-transformers | Embedding generation (MiniLM-L6-v2) | 2.7.0 |
| ChromaDB | Vector store for course catalog | 0.5.0 |
| NetworkX | Graph algorithms (DAG, topological sort) | 3.3 |
| PyMuPDF | PDF text extraction | 1.24.3 |
| scikit-learn | Cosine similarity computation | 1.4.2 |
| Pydantic | Data validation & schemas | 2.7.0 |
| Uvicorn | ASGI server | 0.29.0 |
| Technology | Purpose | Version |
|---|---|---|
| React | UI framework | 18.3 |
| Vite | Build tool & dev server | Latest |
| React Flow | Interactive DAG pathway graph | 12.10 |
| Recharts | Metrics dashboard charts | 2.15 |
| Framer Motion | Animations & transitions | 11.18 |
| Axios | HTTP client | 1.13 |
| Tailwind CSS | Utility-first styling | 3.4 |
| Lucide React | Icon library | 0.383 |
- Python 3.11+ β Download
- Node.js 18+ β Download
- Docker & Docker Compose (optional) β Download
- Gemini API Key β Get one here
# Clone the repository
git clone https://github.com/parth-shinge/skillbrigde-ai.git
cd skillbridge-ai
# Create backend environment file
cp .env.example backend/.env
# Edit backend/.env and set your GEMINI_API_KEY
# Build and run all services
docker-compose up --buildThe frontend will be available at http://localhost:5173 and the backend at http://localhost:8000.
Backend:
cd backend
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # macOS/Linux
pip install -r requirements.txt
# Create .env file
cp ../.env.example .env
# Edit .env and set your GEMINI_API_KEY
uvicorn main:app --reload --host 0.0.0.0 --port 8000Frontend:
cd frontend
npm install
npm run devOpen http://localhost:5173 in your browser.
| Variable | Description | Example |
|---|---|---|
GEMINI_API_KEY |
API key for Gemini 2.5 Flash access | AIzaSy... |
CHROMA_PERSIST_DIR |
ChromaDB persistence directory | ./chroma_db |
STANDARD_ONBOARDING_HOURS |
Baseline hours for time-saved calculation | 40 |
Health check endpoint.
Response: 200 OK
{ "status": "ok", "version": "1.0.0" }Parse a resume PDF and job description to extract structured skill profiles.
Request: multipart/form-data
| Field | Type | Description |
|---|---|---|
resume_file |
File (PDF) | Candidate's resume |
job_description |
string | Target job description text |
Response Example
{
"resume_skills": [
{ "name": "python", "proficiency": "advanced", "years": 5 },
{ "name": "sql", "proficiency": "intermediate", "years": 3 },
{ "name": "machine-learning", "proficiency": "beginner", "years": 1 }
],
"jd_skills": [
{ "name": "python", "proficiency": "expert", "years": null },
{ "name": "deep-learning", "proficiency": "advanced", "years": null },
{ "name": "kubernetes", "proficiency": "intermediate", "years": null }
],
"parse_time_ms": 1842
}Compute skill gaps between resume and job description skill profiles.
Request Body:
{
"resume_skills": [{ "name": "python", "proficiency": "advanced", "years": 5 }],
"jd_skills": [{ "name": "deep-learning", "proficiency": "advanced", "years": null }]
}Response Example
{
"skill_gaps": [
{
"skill": "deep-learning",
"required_level": "advanced",
"current_level": null,
"gap_score": 0.92,
"priority": "critical"
}
],
"overall_readiness_score": 0.45,
"matched_skills": ["python"],
"missing_skills": ["deep-learning", "kubernetes"]
}Generate a personalized, prerequisite-ordered learning pathway.
Request Body:
{
"skill_gaps": [
{ "skill": "deep-learning", "required_level": "advanced", "current_level": null, "gap_score": 0.92, "priority": "critical" }
],
"role_title": "ML Engineer",
"job_category": "technical"
}Response Example
{
"pathway": [
{
"position": 1,
"course_id": "ML-001",
"title": "Introduction to Machine Learning",
"domain": "Machine Learning",
"duration_hours": 6,
"level": "intermediate",
"priority": "critical",
"skills_taught": ["machine-learning", "data-analysis", "statistical-analysis"]
}
],
"reasoning_trace": [
{
"step": 1,
"skill_addressed": "deep-learning",
"gap_score": 0.92,
"course_selected": "ML-001",
"reason": "Foundation course required before deep learning modules; covers core ML concepts and scikit-learn workflow.",
"confidence": 0.95
}
],
"metrics": {
"total_hours": 22,
"standard_hours": 40,
"time_saved_hours": 18,
"readiness_improvement": 0.47,
"modules_count": 4
}
}The analyzer uses a multi-stage pipeline to compute precise skill gaps:
- Skill Extraction β Gemini 2.5 Flash parses raw text into structured
{name, proficiency, years}objects, normalizing synonyms (e.g., "ML" β "machine-learning") - Embedding Generation β Each skill name is encoded into a 384-dimensional vector using
all-MiniLM-L6-v2 - Cosine Similarity Matching β Resume skills are matched to JD skills via pairwise cosine similarity; matches above threshold 0.7 are linked
- Proficiency Delta Scoring β Gap score =
(required_level - current_level) / max_level, using ordinal encoding: beginner=1, intermediate=2, advanced=3, expert=4 - Priority Classification β Skills are classified based on gap score: Critical (β₯ 0.7), Recommended (0.4β0.69), Optional (< 0.4)
Pseudocode:
for each jd_skill in jd_skills:
best_match = max(cosine_sim(embed(jd_skill), embed(r)) for r in resume_skills)
if best_match.score >= THRESHOLD:
gap = proficiency_delta(jd_skill.level, best_match.skill.level)
else:
gap = 1.0 # completely missing skill
priority = classify(gap) # critical | recommended | optional
skill_gaps.append({skill, gap, priority})
The pathway builder constructs an optimized learning sequence using graph-based pathfinding:
- DAG Construction β Each course in the catalog becomes a node; prerequisite relationships form directed edges
- RAG Retrieval β ChromaDB semantic search retrieves the top-K courses matching each identified skill gap
- Subgraph Extraction β Selected courses + all transitive prerequisites are extracted into a subgraph
- Topological Sort β NetworkX
topological_sort()orders courses so prerequisites always come first - Cycle Detection β
nx.is_directed_acyclic_graph()validates the DAG; any cycles are resolved by edge removal
Course DAG Example:
PY-001 βββΊ PY-002 βββΊ PY-003 βββΊ ML-001
β
DA-001 βββΊ DA-002 βββββββββββββββββΊββ
β
ML-002 βββΊ ML-003
In this example, a learner needing Deep Learning (ML-003) would receive the full chain: PY-001 β PY-002 β PY-003 β DA-001 β DA-002 β ML-001 β ML-002 β ML-003, ensuring no knowledge gaps.
Every pathway recommendation includes a transparent reasoning trace β a step-by-step decision log explaining why each course was selected:
{
"step": 1,
"skill_addressed": "deep-learning",
"gap_score": 0.92,
"course_selected": "ML-003: Deep Learning Fundamentals",
"reason": "Directly addresses the critical deep-learning gap. Covers neural network architectures (feedforward, CNN, RNN) using PyTorch, matching the JD requirement for hands-on DL experience.",
"confidence": 0.95
}Each trace entry includes the skill being addressed, the gap score that triggered it, the selected course with rationale, and a confidence score (0β1) reflecting match quality. This enables full auditability of AI decisions.
SkillBridge supports both technical and operational roles through a unified course catalog spanning 8 domains. The job_category field routes recommendations to the appropriate course pool:
| Aspect | Technical Role | Operational Role |
|---|---|---|
| Example Role | ML Engineer | Operations Manager |
| Skill Domains | Python, ML, Cloud & DevOps, Data & SQL | Logistics, Safety & Compliance, Leadership |
| Sample Courses | Deep Learning Fundamentals, Kubernetes & Orchestration | Lean Operations, Regulatory Compliance |
| Assessment Types | Coding projects, Capstone projects | Case studies, Practical exams |
| Catalog Coverage | 17 technical modules | 23 operational/cross-functional modules |
| Dataset | Source | Usage | License |
|---|---|---|---|
| O*NET Database | onetonline.org | Occupational skill taxonomies & proficiency benchmarks | Public Domain |
| Kaggle Resume Dataset | kaggle.com/datasets | Resume parsing model validation | CC0 |
| Kaggle Job Descriptions | kaggle.com/datasets | JD parsing model validation | CC0 |
| Custom Course Catalog | Internal (40 modules) | Core knowledge base indexed in ChromaDB | MIT |
| Metric | Description | Target |
|---|---|---|
| Path Coverage Score | % of identified skill gaps addressed by the generated pathway | β₯ 95% |
| Hallucination Rate | % of recommended courses not found in the catalog | 0% |
| Readiness Delta | Improvement in readiness score after completing the pathway | β₯ 0.40 |
| Time Efficiency % | Hours saved vs. standard onboarding Γ· standard hours Γ 100 | β₯ 30% |
| Prerequisite Validity | % of pathway orderings that satisfy all prerequisite constraints | 100% |
This project is licensed under the MIT License β see the LICENSE file for details.
Built with β€οΈ for smarter onboarding