Gaykar commited on
Commit
602f88e
·
1 Parent(s): fa04f7b
.gitignore CHANGED
@@ -6,7 +6,7 @@ google-credentials.json
6
  /venv
7
 
8
 
9
- /Notebooks
10
 
11
  /AI_Engine_Evaluation
12
  # --- Python Environment ---
 
6
  /venv
7
 
8
 
9
+ app/Notebooks
10
 
11
  /AI_Engine_Evaluation
12
  # --- Python Environment ---
Notebooks/CodeForge.ipynb CHANGED
The diff for this file is too large to render. See raw diff
 
Notebooks/ai_output.json ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "candidate_name": "Chirayu Jain",
3
+ "skill_gap_analysis_data": {
4
+ "job_title": "Backend Developer",
5
+ "candidate_name": null,
6
+ "analyzed_gaps": [
7
+ {
8
+ "skill_name": "FastAPI",
9
+ "gap_type": "missing_foundation",
10
+ "priority": "high",
11
+ "reasoning": "JD requires FastAPI; candidate has no recorded experience or skill in FastAPI across resume, experience, or projects.",
12
+ "target_competency": "Develop high-performance asynchronous APIs using FastAPI"
13
+ },
14
+ {
15
+ "skill_name": "Django",
16
+ "gap_type": "needs_advanced_upgrade",
17
+ "priority": "medium",
18
+ "reasoning": "Candidate lists Django as a skill but has no documented usage or project experience, indicating only basic familiarity; role demands deeper, production\u2011grade Django expertise.",
19
+ "target_competency": "Implement robust backend services with Django, including advanced ORM, authentication, and scalability patterns"
20
+ },
21
+ {
22
+ "skill_name": "PostgreSQL",
23
+ "gap_type": "missing_foundation",
24
+ "priority": "high",
25
+ "reasoning": "JD requires PostgreSQL; candidate's experience includes MySQL and SQLite only, with no exposure to PostgreSQL.",
26
+ "target_competency": "Design, query, and maintain PostgreSQL databases with optimized performance"
27
+ },
28
+ {
29
+ "skill_name": "Docker",
30
+ "gap_type": "missing_foundation",
31
+ "priority": "high",
32
+ "reasoning": "JD requires Docker; candidate's skill list and project history contain no mention of containerization tools such as Docker.",
33
+ "target_competency": "Containerize applications using Docker for consistent deployment and environment management"
34
+ }
35
+ ],
36
+ "is_fresher_adaptation_needed": false,
37
+ "executive_summary": "The candidate possesses core Python and general SQL knowledge but lacks exposure to several key backend technologies required for the role. Primary onboarding focus should be on gaining practical experience with FastAPI, PostgreSQL, and Docker, while deepening existing Django expertise to an advanced level."
38
+ },
39
+ "mermaid_code": "flowchart TD\n A([Start \u2014 Rahul's current skills]):::start\n subgraph W1[\"Week 1 \u2014 Core gaps\"]\n B[CS-FAST-101\nFastAPI]:::gap\n C[CS-DB-101\nSQL Fundamentals]:::gap\n D[CS-DOCKER-101\nDocker & Containerization]:::gap\n end\n subgraph W2[\"Week 2 \u2014 Role readiness\"]\n E[CS-FAST-201\nAdvanced API Design with FastAPI]:::gap\n end\n Z([Role-ready \u2014 Backend Developer]):::done\n A --> B & C & D\n B --> E\n E --> Z\n classDef gap fill:#EEEDFE,stroke:#534AB7,color:#26215C\n classDef known fill:#E1F5EE,stroke:#0F6E56,color:#085041\n classDef start fill:#1D9E75,stroke:#0F6E56,color:#E1F5EE\n classDef done fill:#534AB7,stroke:#3C3489,color:#EEEDFE",
40
+ "final_roadmap": {
41
+ "candidate_name": "Rahul",
42
+ "onboarding_summary": "The candidate possesses core Python and general SQL knowledge but lacks exposure to several key backend technologies required for the role. Primary onboarding focus should be on gaining practical experience with FastAPI, PostgreSQL, and Docker, while deepening existing Django expertise to an advanced level.",
43
+ "roadmap": [
44
+ {
45
+ "course_id": "CS-FAST-101",
46
+ "sequence_order": 1
47
+ },
48
+ {
49
+ "course_id": "CS-DB-101",
50
+ "sequence_order": 2
51
+ },
52
+ {
53
+ "course_id": "CS-DOCKER-101",
54
+ "sequence_order": 3
55
+ },
56
+ {
57
+ "course_id": "CS-FAST-201",
58
+ "sequence_order": 4
59
+ }
60
+ ],
61
+ "target_role": "Backend Developer"
62
+ }
63
+ }
Notebooks/educationofficerdata.json ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "job_description_requirements": {
3
+ "job_title": "Chief Wellness & Clinical Technology Officer",
4
+ "requirements": [
5
+ "Expert-level administration of Digital EAP Ecosystems (e.g., Lyra Health, Modern Health, or Spring Health).",
6
+ "Hands-on experience with AI-driven Sentiment Analysis for early crisis detection in counseling logs.",
7
+ "Proficiency in Mental Health Informatics and predictive analytics for workforce/student behavioral trends.",
8
+ "Certification in Digital HIPAA/GDPR Compliance for global telehealth infrastructure.",
9
+ "Proven track record in scaling behavioral health programs (100+ clinicians) and cross-departmental leadership.",
10
+ "Master’s Degree in Counseling, Psychology, or Healthcare Administration."
11
+ ]
12
+ },
13
+ "ai_target": {
14
+ "candidate_name": "Senior Education Officer",
15
+ "target_role": "Chief Wellness & Clinical Technology Officer",
16
+ "skill_gap_analysis_data": {
17
+ "job_title": "Chief Wellness & Clinical Technology Officer",
18
+ "candidate_name": "Senior Education Officer",
19
+ "analyzed_gaps": [
20
+ {
21
+ "skill_name": "Digital EAP Platform Admin (Lyra/Spring Health)",
22
+ "gap_type": "missing_foundation",
23
+ "priority": "high",
24
+ "reasoning": "Candidate successfully implemented a manual EAP; however, the role requires mastery of modern, cloud-native digital wellness ecosystems which are absent from the technical profile.",
25
+ "target_competency": "Deploy and manage enterprise-wide digital mental health platforms for 10,000+ users."
26
+ },
27
+ {
28
+ "skill_name": "AI Sentiment Analysis & Crisis Detection",
29
+ "gap_type": "missing_foundation",
30
+ "priority": "high",
31
+ "reasoning": "While the candidate manages crisis teams, they lack the technical ability to use AI tools for predictive sentiment analysis in counseling data.",
32
+ "target_competency": "Implement AI-driven early warning systems to detect suicidal ideation or burnout trends in large datasets."
33
+ },
34
+ {
35
+ "skill_name": "Predictive Mental Health Informatics",
36
+ "gap_type": "missing_foundation",
37
+ "priority": "medium",
38
+ "reasoning": "The candidate collects and compiles info manually; the role requires using data science to predict behavioral outcomes and wellness ROI.",
39
+ "target_competency": "Build data-driven models to forecast mental health resource needs across a global population."
40
+ }
41
+ ],
42
+ "is_fresher_adaptation_needed": false,
43
+ "executive_summary": "An elite leader in traditional school counseling and program design. The core transition required is the 'Digital Leap'—moving from manual, island-based coordination to a tech-first, data-driven behavioral health architecture."
44
+ },
45
+ "mermaid_code": "graph TD\n A([Start: Senior Education Officer]):::start\n A --> B[EDU-INF-101: Mental Health Informatics Foundations]:::foundation\n B --> C[EDU-AI-201: AI in Clinical Crisis Detection]:::gap\n B --> D[EDU-PLAT-301: Digital EAP Ecosystem Management]:::gap\n C --> Z([Role-Ready: Chief Wellness Tech Officer]):::done\n D --> Z\n classDef gap fill:#EEEDFE,stroke:#534AB7,color:#26215C\n classDef foundation fill:#E1F5EE,stroke:#0F6E56,color:#085041\n classDef start fill:#1D9E75,stroke:#0F6E56,color:#E1F5EE\n classDef done fill:#534AB7,stroke:#3C3489,color:#EEEDFE",
46
+ "final_roadmap": {
47
+ "candidate_name": "Senior Education Officer",
48
+ "target_role": "Chief Wellness & Clinical Technology Officer",
49
+ "onboarding_summary": "Synthesizing decades of leadership experience with cutting-edge clinical informatics and AI-driven crisis management.",
50
+ "roadmap": [
51
+ {
52
+ "course_id": "EDU-INF-101",
53
+ "title": "Mental Health Informatics Foundations",
54
+ "reasoning": "Provides the mandatory data-science foundation required to move from manual reporting to digital health tracking.",
55
+ "is_foundation": true,
56
+ "sequence_order": 1
57
+ },
58
+ {
59
+ "course_id": "EDU-AI-201",
60
+ "title": "AI in Clinical Crisis Detection",
61
+ "reasoning": "Directly addresses the high-priority gap in using technology to scale crisis intervention beyond human monitoring.",
62
+ "is_foundation": false,
63
+ "sequence_order": 2
64
+ },
65
+ {
66
+ "course_id": "EDU-PLAT-301",
67
+ "title": "Digital EAP Ecosystem Management",
68
+ "reasoning": "Upgrades the candidate's existing EAP experience to the modern digital platforms required by the JD.",
69
+ "is_foundation": false,
70
+ "sequence_order": 3
71
+ }
72
+ ]
73
+ }
74
+ }
75
+ }
Notebooks/formatted_catalog.json ADDED
@@ -0,0 +1,609 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "page_content": "Title: Python Programming Fundamentals. Description: Core Python programming covering data types, control flow, functions, OOP basics, and file handling.. Outcomes: Write clean Python functions and classes, Understand list, dict, and set operations, Handle exceptions and file I/O",
4
+ "metadata": {
5
+ "course_id": "CS-PY-101",
6
+ "category": "Programming",
7
+ "level": "beginner",
8
+ "prerequisites": [],
9
+ "duration": 6,
10
+ "tags": [
11
+ "Python",
12
+ "Programming",
13
+ "OOP"
14
+ ]
15
+ }
16
+ },
17
+ {
18
+ "page_content": "Title: Advanced Python \u00e2\u20ac\u201d Async, Decorators & Design Patterns. Description: Deep dive into Python internals \u00e2\u20ac\u201d asyncio, context managers, metaclasses, and common software design patterns.. Outcomes: Write async/await coroutines, Build custom decorators and context managers, Apply Factory, Singleton, and Observer patterns",
19
+ "metadata": {
20
+ "course_id": "CS-PY-201",
21
+ "category": "Programming",
22
+ "level": "intermediate",
23
+ "prerequisites": [
24
+ "CS-PY-101"
25
+ ],
26
+ "duration": 8,
27
+ "tags": [
28
+ "Python",
29
+ "Async",
30
+ "Design Patterns"
31
+ ]
32
+ }
33
+ },
34
+ {
35
+ "page_content": "Title: SQL Fundamentals for Backend Developers. Description: Foundational course covering relational database concepts, CRUD operations, and basic JOINs using SQLite and PostgreSQL.. Outcomes: Write basic SELECT queries with filters, Understand Primary and Foreign Keys, Perform data insertion, updates, and deletions",
36
+ "metadata": {
37
+ "course_id": "CS-DB-101",
38
+ "category": "Database",
39
+ "level": "beginner",
40
+ "prerequisites": [],
41
+ "duration": 4,
42
+ "tags": [
43
+ "SQL",
44
+ "PostgreSQL",
45
+ "Database",
46
+ "Backend"
47
+ ]
48
+ }
49
+ },
50
+ {
51
+ "page_content": "Title: Advanced SQL \u00e2\u20ac\u201d Indexing, Transactions & Query Optimization. Description: Covers advanced SQL techniques including window functions, CTEs, query execution plans, and transaction management.. Outcomes: Use window functions and CTEs, Analyze and optimize slow queries with EXPLAIN, Manage ACID transactions and deadlock prevention",
52
+ "metadata": {
53
+ "course_id": "CS-DB-201",
54
+ "category": "Database",
55
+ "level": "intermediate",
56
+ "prerequisites": [
57
+ "CS-DB-101"
58
+ ],
59
+ "duration": 7,
60
+ "tags": [
61
+ "SQL",
62
+ "PostgreSQL",
63
+ "Indexing",
64
+ "Performance"
65
+ ]
66
+ }
67
+ },
68
+ {
69
+ "page_content": "Title: NoSQL Databases \u00e2\u20ac\u201d MongoDB & Redis. Description: Introduction to document and key-value stores, covering MongoDB aggregation pipelines and Redis caching strategies.. Outcomes: Design document schemas in MongoDB, Build aggregation pipelines, Implement caching with Redis TTL strategies",
70
+ "metadata": {
71
+ "course_id": "CS-DB-301",
72
+ "category": "Database",
73
+ "level": "intermediate",
74
+ "prerequisites": [
75
+ "CS-DB-101"
76
+ ],
77
+ "duration": 6,
78
+ "tags": [
79
+ "MongoDB",
80
+ "Redis",
81
+ "NoSQL",
82
+ "Caching"
83
+ ]
84
+ }
85
+ },
86
+ {
87
+ "page_content": "Title: REST API Development with FastAPI. Description: Build production-ready REST APIs using FastAPI, covering routing, request validation with Pydantic, and basic authentication.. Outcomes: Create REST endpoints with path and query params, Validate request/response with Pydantic models, Implement JWT-based authentication",
88
+ "metadata": {
89
+ "course_id": "CS-FAST-101",
90
+ "category": "Backend",
91
+ "level": "beginner",
92
+ "prerequisites": [
93
+ "CS-PY-101"
94
+ ],
95
+ "duration": 6,
96
+ "tags": [
97
+ "FastAPI",
98
+ "Python",
99
+ "REST API",
100
+ "Pydantic"
101
+ ]
102
+ }
103
+ },
104
+ {
105
+ "page_content": "Title: Advanced API Design with FastAPI. Description: Deep dive into asynchronous programming, dependency injection, background tasks, and building secure RESTful services.. Outcomes: Implement OAuth2 authentication flows, Build async database endpoints with SQLAlchemy, Use dependency injection and middleware patterns",
106
+ "metadata": {
107
+ "course_id": "CS-FAST-201",
108
+ "category": "Backend",
109
+ "level": "intermediate",
110
+ "prerequisites": [
111
+ "CS-PY-101",
112
+ "CS-DB-101",
113
+ "CS-FAST-101"
114
+ ],
115
+ "duration": 8,
116
+ "tags": [
117
+ "FastAPI",
118
+ "Python",
119
+ "API",
120
+ "Async",
121
+ "OAuth2"
122
+ ]
123
+ }
124
+ },
125
+ {
126
+ "page_content": "Title: HTML, CSS & JavaScript Fundamentals. Description: Core web development foundations covering semantic HTML5, CSS Flexbox/Grid, and vanilla JavaScript DOM manipulation.. Outcomes: Build responsive layouts with Flexbox and Grid, Manipulate the DOM with vanilla JavaScript, Handle browser events and form validation",
127
+ "metadata": {
128
+ "course_id": "CS-WEB-101",
129
+ "category": "Web Development",
130
+ "level": "beginner",
131
+ "prerequisites": [],
132
+ "duration": 8,
133
+ "tags": [
134
+ "HTML",
135
+ "CSS",
136
+ "JavaScript",
137
+ "Frontend"
138
+ ]
139
+ }
140
+ },
141
+ {
142
+ "page_content": "Title: React.js \u00e2\u20ac\u201d Component Architecture & State Management. Description: Build dynamic single-page applications with React, covering hooks, context API, and integration with REST APIs.. Outcomes: Build reusable components with props and hooks, Manage global state with Context API and Redux, Fetch and display data from REST APIs",
143
+ "metadata": {
144
+ "course_id": "CS-WEB-201",
145
+ "category": "Web Development",
146
+ "level": "intermediate",
147
+ "prerequisites": [
148
+ "CS-WEB-101"
149
+ ],
150
+ "duration": 10,
151
+ "tags": [
152
+ "React",
153
+ "JavaScript",
154
+ "Frontend",
155
+ "SPA",
156
+ "Hooks"
157
+ ]
158
+ }
159
+ },
160
+ {
161
+ "page_content": "Title: Full Stack Development with Next.js. Description: Production-grade full stack apps with Next.js covering SSR, SSG, API routes, and deployment on Vercel.. Outcomes: Implement SSR and SSG rendering strategies, Build API routes and middleware in Next.js, Deploy and optimize full stack apps on Vercel",
162
+ "metadata": {
163
+ "course_id": "CS-WEB-301",
164
+ "category": "Web Development",
165
+ "level": "advanced",
166
+ "prerequisites": [
167
+ "CS-WEB-201",
168
+ "CS-FAST-101"
169
+ ],
170
+ "duration": 12,
171
+ "tags": [
172
+ "Next.js",
173
+ "React",
174
+ "Full Stack",
175
+ "SSR",
176
+ "Vercel"
177
+ ]
178
+ }
179
+ },
180
+ {
181
+ "page_content": "Title: Docker & Containerization Fundamentals. Description: Learn containerization fundamentals \u00e2\u20ac\u201d writing Dockerfiles, managing images, volumes, and running multi-container apps with Docker Compose.. Outcomes: Write efficient multi-stage Dockerfiles, Manage container lifecycle and networking, Orchestrate multi-service apps with Docker Compose",
182
+ "metadata": {
183
+ "course_id": "CS-DOCKER-101",
184
+ "category": "DevOps",
185
+ "level": "beginner",
186
+ "prerequisites": [],
187
+ "duration": 5,
188
+ "tags": [
189
+ "Docker",
190
+ "Containers",
191
+ "DevOps",
192
+ "Docker Compose"
193
+ ]
194
+ }
195
+ },
196
+ {
197
+ "page_content": "Title: CI/CD Pipelines with GitHub Actions. Description: Build automated build, test, and deployment pipelines using GitHub Actions, with Docker integration and environment secrets management.. Outcomes: Create GitHub Actions workflows for CI/CD, Automate Docker image builds and pushes, Manage secrets and environment variables securely",
198
+ "metadata": {
199
+ "course_id": "CS-CICD-201",
200
+ "category": "DevOps",
201
+ "level": "intermediate",
202
+ "prerequisites": [
203
+ "CS-DOCKER-101"
204
+ ],
205
+ "duration": 6,
206
+ "tags": [
207
+ "CI/CD",
208
+ "GitHub Actions",
209
+ "DevOps",
210
+ "Automation"
211
+ ]
212
+ }
213
+ },
214
+ {
215
+ "page_content": "Title: Kubernetes \u00e2\u20ac\u201d Container Orchestration at Scale. Description: Deploy, scale, and manage containerized applications with Kubernetes covering pods, deployments, services, ingress, and Helm charts.. Outcomes: Deploy applications using Deployments and StatefulSets, Configure Services, Ingress, and ConfigMaps, Manage releases with Helm charts",
216
+ "metadata": {
217
+ "course_id": "CS-K8S-301",
218
+ "category": "DevOps",
219
+ "level": "advanced",
220
+ "prerequisites": [
221
+ "CS-DOCKER-101",
222
+ "CS-CICD-201"
223
+ ],
224
+ "duration": 14,
225
+ "tags": [
226
+ "Kubernetes",
227
+ "K8s",
228
+ "DevOps",
229
+ "Helm",
230
+ "Scaling"
231
+ ]
232
+ }
233
+ },
234
+ {
235
+ "page_content": "Title: Machine Learning Fundamentals. Description: Core ML concepts covering supervised and unsupervised learning, model evaluation, and scikit-learn workflows.. Outcomes: Train and evaluate classification and regression models, Apply cross-validation and hyperparameter tuning, Preprocess and engineer features from raw data",
236
+ "metadata": {
237
+ "course_id": "CS-ML-101",
238
+ "category": "Machine Learning",
239
+ "level": "beginner",
240
+ "prerequisites": [
241
+ "CS-PY-101"
242
+ ],
243
+ "duration": 8,
244
+ "tags": [
245
+ "Machine Learning",
246
+ "scikit-learn",
247
+ "Python",
248
+ "Supervised Learning"
249
+ ]
250
+ }
251
+ },
252
+ {
253
+ "page_content": "Title: Deep Learning with PyTorch. Description: Build and train neural networks using PyTorch covering CNNs, RNNs, training loops, and GPU acceleration.. Outcomes: Build custom neural networks with nn.Module, Train CNNs on image classification tasks, Optimize models with learning rate schedulers",
254
+ "metadata": {
255
+ "course_id": "CS-DL-201",
256
+ "category": "Machine Learning",
257
+ "level": "intermediate",
258
+ "prerequisites": [
259
+ "CS-ML-101"
260
+ ],
261
+ "duration": 12,
262
+ "tags": [
263
+ "PyTorch",
264
+ "Deep Learning",
265
+ "CNN",
266
+ "GPU",
267
+ "Neural Networks"
268
+ ]
269
+ }
270
+ },
271
+ {
272
+ "page_content": "Title: LLM Application Development with LangChain. Description: Build LLM-powered applications using LangChain covering chains, agents, memory, and tool use.. Outcomes: Build multi-step chains with LangChain, Create tool-using agents with LangGraph, Add memory and conversation history to LLM apps",
273
+ "metadata": {
274
+ "course_id": "CS-LLM-201",
275
+ "category": "AI Engineering",
276
+ "level": "intermediate",
277
+ "prerequisites": [
278
+ "CS-PY-201"
279
+ ],
280
+ "duration": 8,
281
+ "tags": [
282
+ "LangChain",
283
+ "LLM",
284
+ "Agents",
285
+ "AI",
286
+ "LangGraph"
287
+ ]
288
+ }
289
+ },
290
+ {
291
+ "page_content": "Title: RAG Pipeline Design & Vector Databases. Description: Design production RAG systems covering embedding models, vector stores, chunking strategies, and retrieval optimization.. Outcomes: Build end-to-end RAG pipelines with Pinecone, Apply hybrid search \u00e2\u20ac\u201d dense + sparse retrieval, Evaluate RAG quality with precision and recall metrics",
292
+ "metadata": {
293
+ "course_id": "CS-RAG-201",
294
+ "category": "AI Engineering",
295
+ "level": "intermediate",
296
+ "prerequisites": [
297
+ "CS-LLM-201"
298
+ ],
299
+ "duration": 10,
300
+ "tags": [
301
+ "RAG",
302
+ "Pinecone",
303
+ "Embeddings",
304
+ "Vector DB",
305
+ "LangChain"
306
+ ]
307
+ }
308
+ },
309
+ {
310
+ "page_content": "Title: LLM Fine-Tuning with LoRA & PEFT. Description: Fine-tune large language models efficiently using LoRA, QLoRA, and PEFT techniques on custom datasets.. Outcomes: Prepare and format instruction-tuning datasets, Fine-tune LLMs using LoRA with Hugging Face, Evaluate fine-tuned models with ROUGE and perplexity",
311
+ "metadata": {
312
+ "course_id": "CS-FINETUNE-301",
313
+ "category": "AI Engineering",
314
+ "level": "advanced",
315
+ "prerequisites": [
316
+ "CS-DL-201",
317
+ "CS-LLM-201"
318
+ ],
319
+ "duration": 14,
320
+ "tags": [
321
+ "Fine-Tuning",
322
+ "LoRA",
323
+ "PEFT",
324
+ "Hugging Face",
325
+ "LLM"
326
+ ]
327
+ }
328
+ },
329
+ {
330
+ "page_content": "Title: Cybersecurity Fundamentals. Description: Introduction to cybersecurity principles covering the CIA triad, common attack vectors, and basic defense strategies.. Outcomes: Understand confidentiality, integrity, and availability, Identify common threats \u00e2\u20ac\u201d phishing, MITM, DoS, Apply basic security hygiene and password policies",
331
+ "metadata": {
332
+ "course_id": "CS-SEC-101",
333
+ "category": "Cybersecurity",
334
+ "level": "beginner",
335
+ "prerequisites": [],
336
+ "duration": 5,
337
+ "tags": [
338
+ "Cybersecurity",
339
+ "Security",
340
+ "CIA Triad",
341
+ "Threats"
342
+ ]
343
+ }
344
+ },
345
+ {
346
+ "page_content": "Title: Web Application Security & OWASP Top 10. Description: Covers the OWASP Top 10 vulnerabilities including SQL injection, XSS, CSRF, and broken authentication with hands-on exploitation and mitigation.. Outcomes: Exploit and patch SQL injection vulnerabilities, Prevent XSS and CSRF attacks in web apps, Implement secure authentication and session management",
347
+ "metadata": {
348
+ "course_id": "CS-SEC-201",
349
+ "category": "Cybersecurity",
350
+ "level": "intermediate",
351
+ "prerequisites": [
352
+ "CS-SEC-101",
353
+ "CS-WEB-101"
354
+ ],
355
+ "duration": 10,
356
+ "tags": [
357
+ "OWASP",
358
+ "Web Security",
359
+ "XSS",
360
+ "SQL Injection",
361
+ "CSRF"
362
+ ]
363
+ }
364
+ },
365
+ {
366
+ "page_content": "Title: Penetration Testing & Ethical Hacking. Description: Hands-on penetration testing methodology covering reconnaissance, exploitation, privilege escalation, and reporting using Kali Linux tools.. Outcomes: Conduct network reconnaissance with Nmap and Shodan, Exploit vulnerabilities using Metasploit Framework, Write professional penetration testing reports",
367
+ "metadata": {
368
+ "course_id": "CS-SEC-301",
369
+ "category": "Cybersecurity",
370
+ "level": "advanced",
371
+ "prerequisites": [
372
+ "CS-SEC-201"
373
+ ],
374
+ "duration": 16,
375
+ "tags": [
376
+ "Penetration Testing",
377
+ "Ethical Hacking",
378
+ "Kali Linux",
379
+ "Metasploit"
380
+ ]
381
+ }
382
+ },
383
+ {
384
+ "page_content": "Title: Network Security & Cryptography. Description: Deep dive into network security protocols, cryptographic algorithms, PKI infrastructure, and secure communication design.. Outcomes: Implement symmetric and asymmetric encryption, Configure TLS/SSL certificates and PKI chains, Analyze network traffic for anomalies with Wireshark",
385
+ "metadata": {
386
+ "course_id": "CS-SEC-401",
387
+ "category": "Cybersecurity",
388
+ "level": "advanced",
389
+ "prerequisites": [
390
+ "CS-SEC-201"
391
+ ],
392
+ "duration": 12,
393
+ "tags": [
394
+ "Cryptography",
395
+ "TLS",
396
+ "PKI",
397
+ "Network Security",
398
+ "Wireshark"
399
+ ]
400
+ }
401
+ },
402
+ {
403
+ "page_content": "Title: AWS Cloud Fundamentals. Description: Introduction to AWS core services \u00e2\u20ac\u201d EC2, S3, RDS, IAM, Lambda \u00e2\u20ac\u201d and cloud architecture best practices.. Outcomes: Deploy and configure EC2 instances, Manage storage with S3 and IAM policies, Build serverless functions with AWS Lambda",
404
+ "metadata": {
405
+ "course_id": "CS-CLOUD-201",
406
+ "category": "Cloud",
407
+ "level": "beginner",
408
+ "prerequisites": [],
409
+ "duration": 8,
410
+ "tags": [
411
+ "AWS",
412
+ "Cloud",
413
+ "EC2",
414
+ "S3",
415
+ "Lambda",
416
+ "IAM"
417
+ ]
418
+ }
419
+ },
420
+ {
421
+ "page_content": "Title: Cloud Architecture & Microservices on AWS. Description: Design scalable cloud-native architectures on AWS using microservices, API Gateway, SQS, and infrastructure as code with Terraform.. Outcomes: Design event-driven microservices with SQS and SNS, Build and deploy APIs with API Gateway, Provision infrastructure using Terraform",
422
+ "metadata": {
423
+ "course_id": "CS-CLOUD-301",
424
+ "category": "Cloud",
425
+ "level": "advanced",
426
+ "prerequisites": [
427
+ "CS-CLOUD-201",
428
+ "CS-DOCKER-101"
429
+ ],
430
+ "duration": 14,
431
+ "tags": [
432
+ "AWS",
433
+ "Microservices",
434
+ "Terraform",
435
+ "IaC",
436
+ "API Gateway"
437
+ ]
438
+ }
439
+ },
440
+ {
441
+ "page_content": "Title: System Design for Engineers. Description: Covers scalable system design principles including load balancing, caching, database sharding, CAP theorem, and designing real-world systems.. Outcomes: Design systems for horizontal and vertical scaling, Apply caching strategies with Redis and CDN, Architect URL shorteners, chat systems, and feed algorithms",
442
+ "metadata": {
443
+ "course_id": "CS-SYSDESIGN-301",
444
+ "category": "System Design",
445
+ "level": "advanced",
446
+ "prerequisites": [
447
+ "CS-DB-201",
448
+ "CS-CLOUD-201"
449
+ ],
450
+ "duration": 12,
451
+ "tags": [
452
+ "System Design",
453
+ "Scalability",
454
+ "Caching",
455
+ "Load Balancing",
456
+ "CAP Theorem"
457
+ ]
458
+ }
459
+ },
460
+ {
461
+ "page_content": "Title: Software Testing & Test-Driven Development. Description: Unit testing, integration testing, and TDD practices in Python using pytest, mock, and coverage tools.. Outcomes: Write unit tests with pytest and mock dependencies, Apply TDD red-green-refactor cycle, Measure and improve code coverage",
462
+ "metadata": {
463
+ "course_id": "CS-TEST-201",
464
+ "category": "Software Engineering",
465
+ "level": "intermediate",
466
+ "prerequisites": [
467
+ "CS-PY-101"
468
+ ],
469
+ "duration": 6,
470
+ "tags": [
471
+ "Testing",
472
+ "pytest",
473
+ "TDD",
474
+ "Unit Testing",
475
+ "Python"
476
+ ]
477
+ }
478
+ },
479
+ {
480
+ "page_content": "Title: Git & Version Control for Teams. Description: Practical Git workflows for teams covering branching strategies, merge conflicts, rebasing, and pull request best practices.. Outcomes: Apply Git Flow and trunk-based development, Resolve merge conflicts confidently, Write meaningful commit messages and PRs",
481
+ "metadata": {
482
+ "course_id": "CS-GIT-101",
483
+ "category": "Software Engineering",
484
+ "level": "beginner",
485
+ "prerequisites": [],
486
+ "duration": 3,
487
+ "tags": [
488
+ "Git",
489
+ "Version Control",
490
+ "GitHub",
491
+ "Collaboration"
492
+ ]
493
+ }
494
+ },
495
+ {
496
+ "page_content": "Title: Data Structures & Algorithms. Description: Core DSA covering arrays, linked lists, stacks, queues, trees, graphs, sorting, and searching algorithms.. Outcomes: Implement linked lists, stacks, queues from scratch, Traverse trees and graphs with BFS and DFS, Analyze time and space complexity with Big-O",
497
+ "metadata": {
498
+ "course_id": "CS-DS-101",
499
+ "category": "Computer Science",
500
+ "level": "beginner",
501
+ "prerequisites": [
502
+ "CS-PY-101"
503
+ ],
504
+ "duration": 10,
505
+ "tags": [
506
+ "DSA",
507
+ "Algorithms",
508
+ "Data Structures",
509
+ "Big-O"
510
+ ]
511
+ }
512
+ },
513
+ {
514
+ "page_content": "Title: MLOps \u00e2\u20ac\u201d Model Deployment & Monitoring. Description: End-to-end MLOps pipeline covering model versioning with MLflow, serving with FastAPI, containerization, and drift monitoring.. Outcomes: Track experiments and version models with MLflow, Serve ML models via FastAPI and Docker, Monitor model drift and set up retraining triggers",
515
+ "metadata": {
516
+ "course_id": "CS-MLOPS-301",
517
+ "category": "AI Engineering",
518
+ "level": "advanced",
519
+ "prerequisites": [
520
+ "CS-ML-101",
521
+ "CS-DOCKER-101",
522
+ "CS-FAST-101"
523
+ ],
524
+ "duration": 12,
525
+ "tags": [
526
+ "MLOps",
527
+ "MLflow",
528
+ "Model Serving",
529
+ "Docker",
530
+ "Monitoring"
531
+ ]
532
+ }
533
+ },
534
+ {
535
+ "page_content": "Title: NLP with Hugging Face Transformers. Description: Applied NLP using Hugging Face covering tokenization, fine-tuning BERT-class models, text classification, and NER.. Outcomes: Tokenize and preprocess text with Hugging Face, Fine-tune BERT for classification and NER tasks, Evaluate NLP models with F1, precision, and recall",
536
+ "metadata": {
537
+ "course_id": "CS-NLP-201",
538
+ "category": "Machine Learning",
539
+ "level": "intermediate",
540
+ "prerequisites": [
541
+ "CS-DL-201"
542
+ ],
543
+ "duration": 10,
544
+ "tags": [
545
+ "NLP",
546
+ "Hugging Face",
547
+ "BERT",
548
+ "Transformers",
549
+ "Text Classification"
550
+ ]
551
+ }
552
+ },
553
+ {
554
+ "page_content": "Title: API Security \u00e2\u20ac\u201d JWT, OAuth2 & Rate Limiting. Description: Securing APIs with JWT tokens, OAuth2 flows, API key management, rate limiting, and common API attack prevention.. Outcomes: Implement OAuth2 authorization code and client credentials flows, Secure APIs against token hijacking and replay attacks, Apply rate limiting and throttling strategies",
555
+ "metadata": {
556
+ "course_id": "CS-WEBSEC-401",
557
+ "category": "Cybersecurity",
558
+ "level": "advanced",
559
+ "prerequisites": [
560
+ "CS-SEC-201",
561
+ "CS-FAST-101"
562
+ ],
563
+ "duration": 8,
564
+ "tags": [
565
+ "API Security",
566
+ "JWT",
567
+ "OAuth2",
568
+ "Rate Limiting",
569
+ "Backend Security"
570
+ ]
571
+ }
572
+ },
573
+ {
574
+ "page_content": "Title: Linux & Shell Scripting for Developers. Description: Practical Linux skills for developers covering file system navigation, permissions, process management, and bash scripting.. Outcomes: Navigate and manage the Linux file system, Write bash scripts for automation, Manage processes, cron jobs, and system services",
575
+ "metadata": {
576
+ "course_id": "CS-LINUX-101",
577
+ "category": "DevOps",
578
+ "level": "beginner",
579
+ "prerequisites": [],
580
+ "duration": 5,
581
+ "tags": [
582
+ "Linux",
583
+ "Bash",
584
+ "Shell Scripting",
585
+ "DevOps",
586
+ "CLI"
587
+ ]
588
+ }
589
+ },
590
+ {
591
+ "page_content": "Title: Vector Databases & Semantic Search. Description: Covers embedding generation, vector indexing with Pinecone and Weaviate, ANN search, and building semantic search applications.. Outcomes: Generate and store embeddings with OpenAI and SentenceTransformers, Build semantic search with Pinecone and Weaviate, Compare ANN algorithms \u00e2\u20ac\u201d HNSW vs IVF",
592
+ "metadata": {
593
+ "course_id": "CS-VEC-101",
594
+ "category": "AI Engineering",
595
+ "level": "intermediate",
596
+ "prerequisites": [
597
+ "CS-ML-101"
598
+ ],
599
+ "duration": 7,
600
+ "tags": [
601
+ "Vector DB",
602
+ "Pinecone",
603
+ "Weaviate",
604
+ "Semantic Search",
605
+ "Embeddings"
606
+ ]
607
+ }
608
+ }
609
+ ]
Notebooks/hook_output.json ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "candidate_name": "Chirayu Jain",
3
+ "skill_gap_analysis_data": {
4
+ "job_title": "Backend Developer",
5
+ "candidate_name": null,
6
+ "analyzed_gaps": [
7
+ {
8
+ "skill_name": "FastAPI",
9
+ "gap_type": "missing_foundation",
10
+ "priority": "high",
11
+ "reasoning": "JD requires FastAPI; candidate's resume lists Python and Flask experience but no FastAPI usage in skills, experience, or projects.",
12
+ "target_competency": "Develop high-performance asynchronous APIs using FastAPI"
13
+ },
14
+ {
15
+ "skill_name": "PostgreSQL",
16
+ "gap_type": "missing_foundation",
17
+ "priority": "high",
18
+ "reasoning": "JD lists PostgreSQL; candidate has MySQL and SQLite experience but no PostgreSQL exposure.",
19
+ "target_competency": "Design and query relational databases with PostgreSQL"
20
+ },
21
+ {
22
+ "skill_name": "Docker",
23
+ "gap_type": "missing_foundation",
24
+ "priority": "high",
25
+ "reasoning": "JD requires Docker for containerization; candidate's skills, experience, and projects do not mention Docker.",
26
+ "target_competency": "Containerize applications using Docker for deployment"
27
+ }
28
+ ],
29
+ "is_fresher_adaptation_needed": false,
30
+ "executive_summary": "The candidate possesses core Python and Django experience but lacks exposure to several key backend technologies required for the role. Immediate focus should be on acquiring FastAPI, PostgreSQL, and Docker competencies to meet the job's essential requirements."
31
+ }
32
+ }
Notebooks/langchain_formatted.json ADDED
@@ -0,0 +1,905 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "page_content": "Title: Network Security & Cryptography. Description: An advanced course covering the mathematical and practical foundations of modern cryptography and network security. Students implement symmetric encryption (AES-GCM), asymmetric encryption (RSA, ECC), digital signatures, and hash functions; configure and troubleshoot TLS 1.3 certificate chains and PKI infrastructure; and use Wireshark to analyze network traffic for protocol anomalies, rogue certificates, and intrusion indicators.. Outcomes: Implement symmetric and asymmetric encryption, Configure TLS/SSL certificates and PKI chains, Analyze network traffic for anomalies with Wireshark",
4
+ "metadata": {
5
+ "course_id": "CS-SEC-401",
6
+ "category": "Cybersecurity",
7
+ "level": "advanced",
8
+ "prerequisites": [
9
+ "CS-SEC-201"
10
+ ],
11
+ "duration": 12,
12
+ "tags": [
13
+ "Cryptography",
14
+ "TLS",
15
+ "PKI",
16
+ "Network Security",
17
+ "Wireshark"
18
+ ]
19
+ }
20
+ },
21
+ {
22
+ "page_content": "Title: Docker & Containerization Fundamentals. Description: A practical guide to application containerization using Docker. Students learn to write optimized multi-stage Dockerfiles, manage images and container lifecycles, configure bridge and overlay networking, use named volumes for data persistence, and orchestrate multi-service applications with Docker Compose for local and staging environments.. Outcomes: Write efficient multi-stage Dockerfiles, Manage container lifecycle and networking, Orchestrate multi-service apps with Docker Compose",
23
+ "metadata": {
24
+ "course_id": "CS-DOCKER-101",
25
+ "category": "DevOps",
26
+ "level": "beginner",
27
+ "prerequisites": [],
28
+ "duration": 5,
29
+ "tags": [
30
+ "Docker",
31
+ "Containers",
32
+ "DevOps",
33
+ "Docker Compose"
34
+ ]
35
+ }
36
+ },
37
+ {
38
+ "page_content": "Title: Data Structures & Algorithms. Description: A rigorous course in core computer science concepts essential for technical interviews and engineering roles. Covers the implementation and analysis of arrays, singly and doubly linked lists, stacks, queues, binary trees, heaps, graphs, and hash tables. Students apply BFS, DFS, dynamic programming, and divide-and-conquer strategies while analyzing time and space complexity using Big-O notation.. Outcomes: Implement linked lists, stacks, queues from scratch, Traverse trees and graphs with BFS and DFS, Analyze time and space complexity with Big-O",
39
+ "metadata": {
40
+ "course_id": "CS-DS-101",
41
+ "category": "Computer Science",
42
+ "level": "beginner",
43
+ "prerequisites": [
44
+ "CS-PY-101"
45
+ ],
46
+ "duration": 10,
47
+ "tags": [
48
+ "DSA",
49
+ "Algorithms",
50
+ "Data Structures",
51
+ "Big-O"
52
+ ]
53
+ }
54
+ },
55
+ {
56
+ "page_content": "Title: CI/CD Pipelines with GitHub Actions. Description: A hands-on course in automating the full software delivery lifecycle using GitHub Actions. Students define multi-job workflows with matrix builds, integrate linting and pytest test suites as required CI checks, automate Docker image builds and pushes to registries, and manage environment secrets and deployment approvals for staging and production environments.. Outcomes: Create GitHub Actions workflows for CI/CD, Automate Docker image builds and pushes, Manage secrets and environment variables securely",
57
+ "metadata": {
58
+ "course_id": "CS-CICD-201",
59
+ "category": "DevOps",
60
+ "level": "intermediate",
61
+ "prerequisites": [
62
+ "CS-DOCKER-101"
63
+ ],
64
+ "duration": 6,
65
+ "tags": [
66
+ "CI/CD",
67
+ "GitHub Actions",
68
+ "DevOps",
69
+ "Automation"
70
+ ]
71
+ }
72
+ },
73
+ {
74
+ "page_content": "Title: Penetration Testing & Ethical Hacking. Description: A hands-on penetration testing course following the industry-standard PTES (Penetration Testing Execution Standard) methodology. Students perform complete engagements covering passive and active reconnaissance with Nmap, Shodan, and theHarvester; vulnerability scanning and exploitation with Metasploit Framework; post-exploitation privilege escalation on Linux and Windows; and produce professional-grade penetration testing reports.. Outcomes: Conduct network reconnaissance with Nmap and Shodan, Exploit vulnerabilities using Metasploit Framework, Write professional penetration testing reports",
75
+ "metadata": {
76
+ "course_id": "CS-SEC-301",
77
+ "category": "Cybersecurity",
78
+ "level": "advanced",
79
+ "prerequisites": [
80
+ "CS-SEC-201"
81
+ ],
82
+ "duration": 16,
83
+ "tags": [
84
+ "Penetration Testing",
85
+ "Ethical Hacking",
86
+ "Kali Linux",
87
+ "Metasploit"
88
+ ]
89
+ }
90
+ },
91
+ {
92
+ "page_content": "Title: Machine Learning Fundamentals. Description: A practical introduction to machine learning workflows using Python and scikit-learn. Covers the full ML pipeline from data ingestion and preprocessing to feature engineering, model training, hyperparameter tuning with grid search, and evaluation using cross-validation, confusion matrices, and performance metrics for both regression and classification tasks.. Outcomes: Train and evaluate classification and regression models, Apply cross-validation and hyperparameter tuning, Preprocess and engineer features from raw data",
93
+ "metadata": {
94
+ "course_id": "CS-ML-101",
95
+ "category": "Machine Learning",
96
+ "level": "beginner",
97
+ "prerequisites": [
98
+ "CS-PY-101"
99
+ ],
100
+ "duration": 8,
101
+ "tags": [
102
+ "Machine Learning",
103
+ "scikit-learn",
104
+ "Python",
105
+ "Supervised Learning"
106
+ ]
107
+ }
108
+ },
109
+ {
110
+ "page_content": "Title: Vector Databases & Semantic Search. Description: A practical course on the infrastructure powering modern AI search and retrieval systems. Students generate dense embeddings using OpenAI's API and SentenceTransformers, index and query vectors in Pinecone and Weaviate, implement approximate nearest-neighbor search with HNSW and IVF algorithms, and build end-to-end semantic search applications with relevance re-ranking.. Outcomes: Generate and store embeddings with OpenAI and SentenceTransformers, Build semantic search with Pinecone and Weaviate, Compare ANN algorithms \u2014 HNSW vs IVF",
111
+ "metadata": {
112
+ "course_id": "CS-VEC-101",
113
+ "category": "AI Engineering",
114
+ "level": "intermediate",
115
+ "prerequisites": [
116
+ "CS-ML-101"
117
+ ],
118
+ "duration": 7,
119
+ "tags": [
120
+ "Vector DB",
121
+ "Pinecone",
122
+ "Weaviate",
123
+ "Semantic Search",
124
+ "Embeddings"
125
+ ]
126
+ }
127
+ },
128
+ {
129
+ "page_content": "Title: React.js \u2014 Component Architecture & State Management. Description: A thorough course in building scalable single-page applications with React. Students design component hierarchies, manage local state with useState and useReducer, share global state using the Context API and Redux Toolkit, optimize renders with useMemo and useCallback, and integrate REST APIs using axios and React Query for server-state synchronization.. Outcomes: Build reusable components with props and hooks, Manage global state with Context API and Redux, Fetch and display data from REST APIs",
130
+ "metadata": {
131
+ "course_id": "CS-WEB-201",
132
+ "category": "Web Development",
133
+ "level": "intermediate",
134
+ "prerequisites": [
135
+ "CS-WEB-101"
136
+ ],
137
+ "duration": 10,
138
+ "tags": [
139
+ "React",
140
+ "JavaScript",
141
+ "Frontend",
142
+ "SPA",
143
+ "Hooks"
144
+ ]
145
+ }
146
+ },
147
+ {
148
+ "page_content": "Title: HTML, CSS & JavaScript Fundamentals. Description: A comprehensive foundation course for frontend web development. Students master semantic HTML5 document structure, responsive layout techniques using CSS Flexbox and Grid, the CSS Box Model, and vanilla JavaScript for dynamic DOM manipulation, event handling, asynchronous fetch requests, and client-side form validation.. Outcomes: Build responsive layouts with Flexbox and Grid, Manipulate the DOM with vanilla JavaScript, Handle browser events and form validation",
149
+ "metadata": {
150
+ "course_id": "CS-WEB-101",
151
+ "category": "Web Development",
152
+ "level": "beginner",
153
+ "prerequisites": [],
154
+ "duration": 8,
155
+ "tags": [
156
+ "HTML",
157
+ "CSS",
158
+ "JavaScript",
159
+ "Frontend"
160
+ ]
161
+ }
162
+ },
163
+ {
164
+ "page_content": "Title: Software Testing & Test-Driven Development. Description: A practical course on building reliable software through structured testing. Covers unit testing with pytest including fixtures, parameterization, and mocking external dependencies with unittest.mock. Students practice the TDD red-green-refactor cycle, write integration tests for REST APIs using httpx/TestClient, and measure code coverage to identify untested paths.. Outcomes: Write unit tests with pytest and mock dependencies, Apply TDD red-green-refactor cycle, Measure and improve code coverage",
165
+ "metadata": {
166
+ "course_id": "CS-TEST-201",
167
+ "category": "Software Engineering",
168
+ "level": "intermediate",
169
+ "prerequisites": [
170
+ "CS-PY-101"
171
+ ],
172
+ "duration": 6,
173
+ "tags": [
174
+ "Testing",
175
+ "pytest",
176
+ "TDD",
177
+ "Unit Testing",
178
+ "Python"
179
+ ]
180
+ }
181
+ },
182
+ {
183
+ "page_content": "Title: LLM Application Development with LangChain. Description: A project-focused course on building production LLM applications using the LangChain ecosystem. Students construct multi-step chains with prompt templates and output parsers, build tool-using ReAct agents with LangGraph, implement conversation memory with buffer and summary strategies, and integrate external APIs as agent tools.. Outcomes: Build multi-step chains with LangChain, Create tool-using agents with LangGraph, Add memory and conversation history to LLM apps",
184
+ "metadata": {
185
+ "course_id": "CS-LLM-201",
186
+ "category": "AI Engineering",
187
+ "level": "intermediate",
188
+ "prerequisites": [
189
+ "CS-PY-201"
190
+ ],
191
+ "duration": 8,
192
+ "tags": [
193
+ "LangChain",
194
+ "LLM",
195
+ "Agents",
196
+ "AI",
197
+ "LangGraph"
198
+ ]
199
+ }
200
+ },
201
+ {
202
+ "page_content": "Title: Advanced API Design with FastAPI. Description: An advanced course for engineers building high-performance, secure backend services with FastAPI. Students implement full OAuth2 authorization code and client credentials flows, build async database CRUD endpoints using SQLAlchemy 2.0 with asyncpg, design layered dependency injection architectures, create custom middleware for logging and rate limiting, and run Celery background task queues.. Outcomes: Implement OAuth2 authentication flows, Build async database endpoints with SQLAlchemy, Use dependency injection and middleware patterns",
203
+ "metadata": {
204
+ "course_id": "CS-FAST-201",
205
+ "category": "Backend",
206
+ "level": "intermediate",
207
+ "prerequisites": [
208
+ "CS-PY-101",
209
+ "CS-DB-101",
210
+ "CS-FAST-101"
211
+ ],
212
+ "duration": 8,
213
+ "tags": [
214
+ "FastAPI",
215
+ "Python",
216
+ "API",
217
+ "Async",
218
+ "OAuth2"
219
+ ]
220
+ }
221
+ },
222
+ {
223
+ "page_content": "Title: AWS Cloud Fundamentals. Description: An introductory course to the Amazon Web Services ecosystem covering the most critical services for backend and infrastructure engineers. Students deploy compute instances on EC2, manage object storage with S3 and lifecycle policies, configure RDS for managed relational databases, define access control through IAM roles and policies, and build event-driven workflows with AWS Lambda.. Outcomes: Deploy and configure EC2 instances, Manage storage with S3 and IAM policies, Build serverless functions with AWS Lambda",
224
+ "metadata": {
225
+ "course_id": "CS-CLOUD-201",
226
+ "category": "Cloud",
227
+ "level": "beginner",
228
+ "prerequisites": [],
229
+ "duration": 8,
230
+ "tags": [
231
+ "AWS",
232
+ "Cloud",
233
+ "EC2",
234
+ "S3",
235
+ "Lambda",
236
+ "IAM"
237
+ ]
238
+ }
239
+ },
240
+ {
241
+ "page_content": "Title: Cloud Architecture & Microservices on AWS. Description: A senior-level course on designing and deploying cloud-native, microservices-based architectures on AWS. Students decompose monolithic applications into independently deployable services, implement asynchronous communication using SQS queues and SNS fan-out topics, build and secure public APIs with API Gateway, provision reproducible infrastructure using Terraform, and apply the AWS Well-Architected Framework pillars for reliability and cost optimization.. Outcomes: Design event-driven microservices with SQS and SNS, Build and deploy APIs with API Gateway, Provision infrastructure using Terraform",
242
+ "metadata": {
243
+ "course_id": "CS-CLOUD-301",
244
+ "category": "Cloud",
245
+ "level": "advanced",
246
+ "prerequisites": [
247
+ "CS-CLOUD-201",
248
+ "CS-DOCKER-101"
249
+ ],
250
+ "duration": 14,
251
+ "tags": [
252
+ "AWS",
253
+ "Microservices",
254
+ "Terraform",
255
+ "IaC",
256
+ "API Gateway"
257
+ ]
258
+ }
259
+ },
260
+ {
261
+ "page_content": "Title: Full Stack Development with Next.js. Description: A production-grade full stack course using Next.js 14 with the App Router. Students implement Server-Side Rendering, Static Site Generation, and Incremental Static Regeneration for optimal performance, build type-safe API routes and server actions, integrate Prisma ORM for database access, configure middleware for authentication with NextAuth.js, and deploy globally optimized applications on Vercel.. Outcomes: Implement SSR and SSG rendering strategies, Build API routes and middleware in Next.js, Deploy and optimize full stack apps on Vercel",
262
+ "metadata": {
263
+ "course_id": "CS-WEB-301",
264
+ "category": "Web Development",
265
+ "level": "advanced",
266
+ "prerequisites": [
267
+ "CS-WEB-201",
268
+ "CS-FAST-101"
269
+ ],
270
+ "duration": 12,
271
+ "tags": [
272
+ "Next.js",
273
+ "React",
274
+ "Full Stack",
275
+ "SSR",
276
+ "Vercel"
277
+ ]
278
+ }
279
+ },
280
+ {
281
+ "page_content": "Title: Git & Version Control for Teams. Description: A practical course on collaborative version control using Git. Covers branching strategies including Git Flow and trunk-based development, interactive rebasing, cherry-picking, resolving complex merge conflicts, and establishing pull request review standards that improve team velocity and code quality.. Outcomes: Apply Git Flow and trunk-based development, Resolve merge conflicts confidently, Write meaningful commit messages and PRs",
282
+ "metadata": {
283
+ "course_id": "CS-GIT-101",
284
+ "category": "Software Engineering",
285
+ "level": "beginner",
286
+ "prerequisites": [],
287
+ "duration": 3,
288
+ "tags": [
289
+ "Git",
290
+ "Version Control",
291
+ "GitHub",
292
+ "Collaboration"
293
+ ]
294
+ }
295
+ },
296
+ {
297
+ "page_content": "Title: Kubernetes \u2014 Container Orchestration at Scale. Description: A comprehensive course on running containerized workloads in production with Kubernetes. Students deploy stateless and stateful applications using Deployments and StatefulSets, expose services through ClusterIP, NodePort, and Ingress controllers, manage configuration and secrets with ConfigMaps and Secrets, autoscale workloads with HPA, and package applications for repeatable releases using Helm charts.. Outcomes: Deploy applications using Deployments and StatefulSets, Configure Services, Ingress, and ConfigMaps, Manage releases with Helm charts",
298
+ "metadata": {
299
+ "course_id": "CS-K8S-301",
300
+ "category": "DevOps",
301
+ "level": "advanced",
302
+ "prerequisites": [
303
+ "CS-DOCKER-101",
304
+ "CS-CICD-201"
305
+ ],
306
+ "duration": 14,
307
+ "tags": [
308
+ "Kubernetes",
309
+ "K8s",
310
+ "DevOps",
311
+ "Helm",
312
+ "Scaling"
313
+ ]
314
+ }
315
+ },
316
+ {
317
+ "page_content": "Title: Python Programming Fundamentals. Description: A comprehensive introduction to Python covering primitive and complex data types, control flow structures, function design, object-oriented programming principles, exception handling, and file I/O. Students build a strong syntactic and conceptual foundation before moving to applied domains.. Outcomes: Write clean Python functions and classes, Understand list, dict, and set operations, Handle exceptions and file I/O",
318
+ "metadata": {
319
+ "course_id": "CS-PY-101",
320
+ "category": "Programming",
321
+ "level": "beginner",
322
+ "prerequisites": [],
323
+ "duration": 6,
324
+ "tags": [
325
+ "Python",
326
+ "Programming",
327
+ "OOP"
328
+ ]
329
+ }
330
+ },
331
+ {
332
+ "page_content": "Title: LLM Fine-Tuning with LoRA & PEFT. Description: An advanced course on adapting pre-trained large language models for domain-specific tasks using parameter-efficient methods. Students curate and format instruction-tuning datasets in Alpaca and ChatML formats, apply Low-Rank Adaptation (LoRA) and Quantized LoRA (QLoRA) using the Hugging Face PEFT and TRL libraries, configure SFTTrainer for supervised fine-tuning, and rigorously evaluate adapted models using ROUGE scores, perplexity, and human preference benchmarks.. Outcomes: Prepare and format instruction-tuning datasets, Fine-tune LLMs using LoRA with Hugging Face, Evaluate fine-tuned models with ROUGE and perplexity",
333
+ "metadata": {
334
+ "course_id": "CS-FINETUNE-301",
335
+ "category": "AI Engineering",
336
+ "level": "advanced",
337
+ "prerequisites": [
338
+ "CS-DL-201",
339
+ "CS-LLM-201"
340
+ ],
341
+ "duration": 14,
342
+ "tags": [
343
+ "Fine-Tuning",
344
+ "LoRA",
345
+ "PEFT",
346
+ "Hugging Face",
347
+ "LLM"
348
+ ]
349
+ }
350
+ },
351
+ {
352
+ "page_content": "Title: REST API Development with FastAPI. Description: A project-driven course for building production-quality REST APIs with Python's FastAPI framework. Students learn to define typed routes with path and query parameters, leverage Pydantic models for automatic request validation and serialization, implement dependency injection, and secure endpoints using JWT-based Bearer token authentication.. Outcomes: Create REST endpoints with path and query params, Validate request/response with Pydantic models, Implement JWT-based authentication",
353
+ "metadata": {
354
+ "course_id": "CS-FAST-101",
355
+ "category": "Backend",
356
+ "level": "beginner",
357
+ "prerequisites": [
358
+ "CS-PY-101"
359
+ ],
360
+ "duration": 6,
361
+ "tags": [
362
+ "FastAPI",
363
+ "Python",
364
+ "REST API",
365
+ "Pydantic"
366
+ ]
367
+ }
368
+ },
369
+ {
370
+ "page_content": "Title: Deep Learning with PyTorch. Description: A rigorous course in deep learning using the PyTorch framework. Students implement feedforward networks, convolutional neural networks for image classification, recurrent architectures for sequence modeling, and learn to write efficient custom training loops with GPU acceleration. Covers batch normalization, dropout regularization, and learning rate scheduling for model optimization.. Outcomes: Build custom neural networks with nn.Module, Train CNNs on image classification tasks, Optimize models with learning rate schedulers",
371
+ "metadata": {
372
+ "course_id": "CS-DL-201",
373
+ "category": "Machine Learning",
374
+ "level": "intermediate",
375
+ "prerequisites": [
376
+ "CS-ML-101"
377
+ ],
378
+ "duration": 12,
379
+ "tags": [
380
+ "PyTorch",
381
+ "Deep Learning",
382
+ "CNN",
383
+ "GPU",
384
+ "Neural Networks"
385
+ ]
386
+ }
387
+ },
388
+ {
389
+ "page_content": "Title: SQL Fundamentals for Backend Developers. Description: A hands-on introduction to relational database theory and practice using SQLite and PostgreSQL. Students learn to model data with schemas, enforce referential integrity through primary and foreign keys, and interact with data using full CRUD operations and multi-table JOINs.. Outcomes: Write basic SELECT queries with filters, Understand Primary and Foreign Keys, Perform data insertion, updates, and deletions",
390
+ "metadata": {
391
+ "course_id": "CS-DB-101",
392
+ "category": "Database",
393
+ "level": "beginner",
394
+ "prerequisites": [],
395
+ "duration": 4,
396
+ "tags": [
397
+ "SQL",
398
+ "PostgreSQL",
399
+ "Database",
400
+ "Backend"
401
+ ]
402
+ }
403
+ },
404
+ {
405
+ "page_content": "Title: Web Application Security & OWASP Top 10. Description: A practical security course structured around the OWASP Top 10 most critical web application risks. Students perform hands-on exploitation of SQL injection, reflected and stored XSS, CSRF, broken access control, and insecure deserialization vulnerabilities in sandboxed environments, then implement the corresponding mitigations in Python and JavaScript web applications.. Outcomes: Exploit and patch SQL injection vulnerabilities, Prevent XSS and CSRF attacks in web apps, Implement secure authentication and session management",
406
+ "metadata": {
407
+ "course_id": "CS-SEC-201",
408
+ "category": "Cybersecurity",
409
+ "level": "intermediate",
410
+ "prerequisites": [
411
+ "CS-SEC-101",
412
+ "CS-WEB-101"
413
+ ],
414
+ "duration": 10,
415
+ "tags": [
416
+ "OWASP",
417
+ "Web Security",
418
+ "XSS",
419
+ "SQL Injection",
420
+ "CSRF"
421
+ ]
422
+ }
423
+ },
424
+ {
425
+ "page_content": "Title: NLP with Hugging Face Transformers. Description: An applied NLP course using the Hugging Face Transformers library and Datasets ecosystem. Students tokenize and preprocess text corpora, fine-tune pre-trained BERT and RoBERTa models for sequence classification and named entity recognition tasks, apply parameter-efficient techniques, and rigorously evaluate model quality using F1-score, precision, recall, and confusion analysis.. Outcomes: Tokenize and preprocess text with Hugging Face, Fine-tune BERT for classification and NER tasks, Evaluate NLP models with F1, precision, and recall",
426
+ "metadata": {
427
+ "course_id": "CS-NLP-201",
428
+ "category": "Machine Learning",
429
+ "level": "intermediate",
430
+ "prerequisites": [
431
+ "CS-DL-201"
432
+ ],
433
+ "duration": 10,
434
+ "tags": [
435
+ "NLP",
436
+ "Hugging Face",
437
+ "BERT",
438
+ "Transformers",
439
+ "Text Classification"
440
+ ]
441
+ }
442
+ },
443
+ {
444
+ "page_content": "Title: Advanced SQL \u2014 Indexing, Transactions & Query Optimization. Description: A deep dive into production-grade SQL performance and reliability. Students master analytical window functions, Common Table Expressions (CTEs), query execution plan analysis using EXPLAIN/ANALYZE, B-tree and partial index strategies, and ACID-compliant transaction management including deadlock detection and prevention.. Outcomes: Use window functions and CTEs, Analyze and optimize slow queries with EXPLAIN, Manage ACID transactions and deadlock prevention",
445
+ "metadata": {
446
+ "course_id": "CS-DB-201",
447
+ "category": "Database",
448
+ "level": "intermediate",
449
+ "prerequisites": [
450
+ "CS-DB-101"
451
+ ],
452
+ "duration": 7,
453
+ "tags": [
454
+ "SQL",
455
+ "PostgreSQL",
456
+ "Indexing",
457
+ "Performance"
458
+ ]
459
+ }
460
+ },
461
+ {
462
+ "page_content": "Title: System Design for Engineers. Description: A senior engineer's course on designing large-scale distributed systems with an emphasis on real interview and production scenarios. Students apply horizontal and vertical scaling principles, implement multi-tier caching strategies with Redis and CDN edge networks, design database sharding and replication topologies, analyze trade-offs using the CAP theorem and eventual consistency models, and architect well-known systems including URL shorteners, distributed message queues, and social media feed algorithms.. Outcomes: Design systems for horizontal and vertical scaling, Apply caching strategies with Redis and CDN, Architect URL shorteners, chat systems, and feed algorithms",
463
+ "metadata": {
464
+ "course_id": "CS-SYSDESIGN-301",
465
+ "category": "System Design",
466
+ "level": "advanced",
467
+ "prerequisites": [
468
+ "CS-DB-201",
469
+ "CS-CLOUD-201"
470
+ ],
471
+ "duration": 12,
472
+ "tags": [
473
+ "System Design",
474
+ "Scalability",
475
+ "Caching",
476
+ "Load Balancing",
477
+ "CAP Theorem"
478
+ ]
479
+ }
480
+ },
481
+ {
482
+ "page_content": "Title: NoSQL Databases \u2014 MongoDB & Redis. Description: Practical training in document and key-value store paradigms for modern applications. Covers MongoDB schema design, flexible document modeling, the aggregation pipeline for complex data transformations, and Redis as both a high-speed caching layer and a pub/sub message broker with TTL-based eviction strategies.. Outcomes: Design document schemas in MongoDB, Build aggregation pipelines, Implement caching with Redis TTL strategies",
483
+ "metadata": {
484
+ "course_id": "CS-DB-301",
485
+ "category": "Database",
486
+ "level": "intermediate",
487
+ "prerequisites": [
488
+ "CS-DB-101"
489
+ ],
490
+ "duration": 6,
491
+ "tags": [
492
+ "MongoDB",
493
+ "Redis",
494
+ "NoSQL",
495
+ "Caching"
496
+ ]
497
+ }
498
+ },
499
+ {
500
+ "page_content": "Title: MLOps \u2014 Model Deployment & Monitoring. Description: An end-to-end MLOps course covering the full lifecycle of production machine learning systems. Students track experiments and version datasets and models using MLflow, build model serving APIs with FastAPI, containerize inference services with Docker, set up automated retraining pipelines triggered by data drift detection using Evidently AI, and monitor prediction quality and infrastructure health with Grafana dashboards.. Outcomes: Track experiments and version models with MLflow, Serve ML models via FastAPI and Docker, Monitor model drift and set up retraining triggers",
501
+ "metadata": {
502
+ "course_id": "CS-MLOPS-301",
503
+ "category": "AI Engineering",
504
+ "level": "advanced",
505
+ "prerequisites": [
506
+ "CS-ML-101",
507
+ "CS-DOCKER-101",
508
+ "CS-FAST-101"
509
+ ],
510
+ "duration": 12,
511
+ "tags": [
512
+ "MLOps",
513
+ "MLflow",
514
+ "Model Serving",
515
+ "Docker",
516
+ "Monitoring"
517
+ ]
518
+ }
519
+ },
520
+ {
521
+ "page_content": "Title: API Security \u2014 JWT, OAuth2 & Rate Limiting. Description: A specialized course on hardening APIs against modern attack surfaces. Students implement the full OAuth2 authorization code flow with PKCE and the client credentials flow for machine-to-machine authentication, secure JWTs against algorithm confusion, token hijacking, and replay attacks, enforce API key rotation policies, and apply sliding window and token bucket rate limiting strategies using Redis to protect against abuse and DDoS.. Outcomes: Implement OAuth2 authorization code and client credentials flows, Secure APIs against token hijacking and replay attacks, Apply rate limiting and throttling strategies",
522
+ "metadata": {
523
+ "course_id": "CS-WEBSEC-401",
524
+ "category": "Cybersecurity",
525
+ "level": "advanced",
526
+ "prerequisites": [
527
+ "CS-SEC-201",
528
+ "CS-FAST-101"
529
+ ],
530
+ "duration": 8,
531
+ "tags": [
532
+ "API Security",
533
+ "JWT",
534
+ "OAuth2",
535
+ "Rate Limiting",
536
+ "Backend Security"
537
+ ]
538
+ }
539
+ },
540
+ {
541
+ "page_content": "Title: Linux & Shell Scripting for Developers. Description: Practical Linux proficiency for software developers working in Unix-like environments. Covers the filesystem hierarchy, file permissions and ownership models, user and group management, process monitoring with ps/top/htop, cron job scheduling, and writing production-ready bash scripts for automation and deployment tasks.. Outcomes: Navigate and manage the Linux file system, Write bash scripts for automation, Manage processes, cron jobs, and system services",
542
+ "metadata": {
543
+ "course_id": "CS-LINUX-101",
544
+ "category": "DevOps",
545
+ "level": "beginner",
546
+ "prerequisites": [],
547
+ "duration": 5,
548
+ "tags": [
549
+ "Linux",
550
+ "Bash",
551
+ "Shell Scripting",
552
+ "DevOps",
553
+ "CLI"
554
+ ]
555
+ }
556
+ },
557
+ {
558
+ "page_content": "Title: RAG Pipeline Design & Vector Databases. Description: A production-focused course on Retrieval-Augmented Generation systems. Students design document ingestion pipelines with chunking strategies (fixed-size, semantic, recursive), generate and store embeddings in Pinecone, implement hybrid retrieval combining dense vector search with BM25 sparse search, apply Cohere re-ranking for precision improvement, and evaluate end-to-end RAG quality using RAGAS metrics.. Outcomes: Build end-to-end RAG pipelines with Pinecone, Apply hybrid search \u2014 dense + sparse retrieval, Evaluate RAG quality with precision and recall metrics",
559
+ "metadata": {
560
+ "course_id": "CS-RAG-201",
561
+ "category": "AI Engineering",
562
+ "level": "intermediate",
563
+ "prerequisites": [
564
+ "CS-LLM-201"
565
+ ],
566
+ "duration": 10,
567
+ "tags": [
568
+ "RAG",
569
+ "Pinecone",
570
+ "Embeddings",
571
+ "Vector DB",
572
+ "LangChain"
573
+ ]
574
+ }
575
+ },
576
+ {
577
+ "page_content": "Title: Advanced Python \u2014 Async, Decorators & Design Patterns. Description: An in-depth exploration of Python internals and professional engineering patterns. Covers the asyncio event loop, coroutine scheduling, context managers, metaclass programming, and the practical application of Gang-of-Four design patterns such as Factory, Singleton, and Observer in real-world codebases.. Outcomes: Write async/await coroutines, Build custom decorators and context managers, Apply Factory, Singleton, and Observer patterns",
578
+ "metadata": {
579
+ "course_id": "CS-PY-201",
580
+ "category": "Programming",
581
+ "level": "intermediate",
582
+ "prerequisites": [
583
+ "CS-PY-101"
584
+ ],
585
+ "duration": 8,
586
+ "tags": [
587
+ "Python",
588
+ "Async",
589
+ "Design Patterns"
590
+ ]
591
+ }
592
+ },
593
+ {
594
+ "page_content": "Title: Cybersecurity Fundamentals. Description: A foundational survey of cybersecurity principles designed for developers and engineers. Introduces the CIA triad (Confidentiality, Integrity, Availability), threat modeling, common attack vectors including phishing, man-in-the-middle, and denial-of-service attacks, and practical defensive practices such as least-privilege access and patch management.. Outcomes: Understand confidentiality, integrity, and availability, Identify common threats \u2014 phishing, MITM, DoS, Apply basic security hygiene and password policies",
595
+ "metadata": {
596
+ "course_id": "CS-SEC-101",
597
+ "category": "Cybersecurity",
598
+ "level": "beginner",
599
+ "prerequisites": [],
600
+ "duration": 5,
601
+ "tags": [
602
+ "Cybersecurity",
603
+ "Security",
604
+ "CIA Triad",
605
+ "Threats"
606
+ ]
607
+ }
608
+ },
609
+ {
610
+ "page_content": "Title: Kubernetes for AI Workloads. Description: An introduction to K8s specifically for ML engineers. Covers pod orchestration, GPU resource allocation, and scaling FastAPI backends on clusters.. Outcomes: Deploy ML models as K8s services, Configure GPU-enabled worker nodes, Manage cluster auto-scaling for inference bursts",
611
+ "metadata": {
612
+ "course_id": "OPS-K8S-101",
613
+ "category": "MLOps",
614
+ "level": "intermediate",
615
+ "prerequisites": [],
616
+ "duration": 10,
617
+ "tags": [
618
+ "Kubernetes",
619
+ "DevOps",
620
+ "Scaling"
621
+ ]
622
+ }
623
+ },
624
+ {
625
+ "page_content": "Title: High-Performance Serving with Triton. Description: Using NVIDIA Triton to serve models from multiple frameworks (PyTorch, TensorFlow, ONNX). Covers model ensemble pipelines and dynamic batching for sub-100ms latency.. Outcomes: Configure Triton Model Repository, Implement dynamic batching for high throughput, Optimize model performance with TensorRT",
626
+ "metadata": {
627
+ "course_id": "OPS-TRITON-201",
628
+ "category": "MLOps",
629
+ "level": "advanced",
630
+ "prerequisites": [
631
+ "OPS-K8S-101"
632
+ ],
633
+ "duration": 15,
634
+ "tags": [
635
+ "Triton",
636
+ "NVIDIA",
637
+ "Inference",
638
+ "Latency"
639
+ ]
640
+ }
641
+ },
642
+ {
643
+ "page_content": "Title: LLM Red Teaming & Guardrails. Description: Deep dive into LLM vulnerabilities. Learn to simulate prompt injections, implement Lakera/NeMo Guardrails, and secure RAG retrieval from data leakage.. Outcomes: Perform adversarial 'red teaming' on LLM prompts, Implement real-time injection detection layers, Secure vector retrieval pipelines from PII leakage",
644
+ "metadata": {
645
+ "course_id": "SEC-LLM-301",
646
+ "category": "AI Security",
647
+ "level": "advanced",
648
+ "prerequisites": [],
649
+ "duration": 12,
650
+ "tags": [
651
+ "Security",
652
+ "Red Teaming",
653
+ "Prompt Injection"
654
+ ]
655
+ }
656
+ },
657
+ {
658
+ "page_content": "Title: Billion-Scale Vector Ops. Description: Scaling beyond managed services. Managing Milvus clusters, fine-tuning HNSW parameters, and partitioning massive datasets for distributed search.. Outcomes: Architect distributed Milvus clusters, Tune index performance for billion-scale search, Implement complex metadata filtering at scale",
659
+ "metadata": {
660
+ "course_id": "DTA-MIL-401",
661
+ "category": "Data Engineering",
662
+ "level": "expert",
663
+ "prerequisites": [
664
+ "OPS-K8S-101"
665
+ ],
666
+ "duration": 18,
667
+ "tags": [
668
+ "Milvus",
669
+ "Vector DB",
670
+ "Optimization"
671
+ ]
672
+ }
673
+ },
674
+ {
675
+ "page_content": "Title: Enterprise Health Record Admin. Description: Introduction to the administrative side of Epic and Cerner. Covers patient population mapping, digital referral tracking, and cross-departmental data integration.. Outcomes: Navigate enterprise EHR interfaces, Audit digital clinical documentation for compliance, Manage HIPAA-secure data transfers",
676
+ "metadata": {
677
+ "course_id": "HC-EHR-101",
678
+ "category": "Health Informatics",
679
+ "level": "beginner",
680
+ "prerequisites": [],
681
+ "duration": 8,
682
+ "tags": [
683
+ "EHR",
684
+ "Epic",
685
+ "Cerner",
686
+ "Informatics"
687
+ ]
688
+ }
689
+ },
690
+ {
691
+ "page_content": "Title: Utilization Management & InterQual. Description: Deep dive into InterQual clinical criteria. Learn how to determine medical necessity for inpatient, observation, and outpatient services to ensure insurance and federal reimbursement.. Outcomes: Apply InterQual criteria to clinical scenarios, Determine appropriate level of care, Manage clinical appeals and denials",
692
+ "metadata": {
693
+ "course_id": "HC-UM-201",
694
+ "category": "Compliance",
695
+ "level": "intermediate",
696
+ "prerequisites": [
697
+ "HC-EHR-101"
698
+ ],
699
+ "duration": 12,
700
+ "tags": [
701
+ "InterQual",
702
+ "UM",
703
+ "Medical Necessity",
704
+ "Medicaid"
705
+ ]
706
+ }
707
+ },
708
+ {
709
+ "page_content": "Title: Clinical Analytics & Power BI. Description: Converting case notes into data. Learn to build Power BI dashboards that track patient 'Self-Sufficiency' scores, discharge timelines, and program cost-efficiency.. Outcomes: Connect clinical databases to Power BI, Design interactive patient outcome dashboards, Predict patient readmission risks via data trends",
710
+ "metadata": {
711
+ "course_id": "HC-DTA-301",
712
+ "category": "Data Science",
713
+ "level": "intermediate",
714
+ "prerequisites": [],
715
+ "duration": 10,
716
+ "tags": [
717
+ "Power BI",
718
+ "Analytics",
719
+ "Dashboards",
720
+ "KPIs"
721
+ ]
722
+ }
723
+ },
724
+ {
725
+ "page_content": "Title: Mental Health Informatics Foundations. Description: The transition from clinical notes to structured data. Learn to manage HIPAA-compliant databases and move from 'observational' reporting to 'analytical' population health tracking.. Outcomes: Structure clinical counseling data for HIPAA-compliant analysis, Navigate Digital Mental Health Records (DMHR), Interpret large-scale behavioral health datasets",
726
+ "metadata": {
727
+ "course_id": "EDU-INF-101",
728
+ "category": "Health Informatics",
729
+ "level": "beginner",
730
+ "prerequisites": [],
731
+ "duration": 6,
732
+ "tags": [
733
+ "Informatics",
734
+ "Data",
735
+ "HealthTech",
736
+ "Basics"
737
+ ]
738
+ }
739
+ },
740
+ {
741
+ "page_content": "Title: AI in Clinical Crisis Detection. Description: Utilizing Natural Language Processing (NLP) and sentiment analysis to identify risk markers in counseling logs and digital communications for proactive intervention.. Outcomes: Understand NLP markers for suicidal ideation and burnout, Configure AI alerts for crisis team activation, Audit AI outputs for clinical accuracy and bias",
742
+ "metadata": {
743
+ "course_id": "EDU-AI-201",
744
+ "category": "Clinical AI",
745
+ "level": "intermediate",
746
+ "prerequisites": [
747
+ "EDU-INF-101"
748
+ ],
749
+ "duration": 12,
750
+ "tags": [
751
+ "AI",
752
+ "Crisis Intervention",
753
+ "NLP",
754
+ "Psychology"
755
+ ]
756
+ }
757
+ },
758
+ {
759
+ "page_content": "Title: Digital EAP Ecosystem Management. Description: Mastering the administration of platforms like Lyra and Spring Health. Learn to deploy automated triage, manage global provider networks, and track employee wellness ROI.. Outcomes: Administer enterprise-scale mental health platforms, Set up automated clinical triage workflows, Measure and report on the ROI of digital wellness programs",
760
+ "metadata": {
761
+ "course_id": "EDU-PLAT-301",
762
+ "category": "Enterprise Wellness",
763
+ "level": "intermediate",
764
+ "prerequisites": [
765
+ "EDU-INF-101"
766
+ ],
767
+ "duration": 10,
768
+ "tags": [
769
+ "EAP",
770
+ "Enterprise",
771
+ "Wellness",
772
+ "Platforms"
773
+ ]
774
+ }
775
+ },
776
+ {
777
+ "page_content": "Title: Kubernetes for AI Workloads. Description: An introduction to K8s specifically for ML engineers. Covers pod orchestration, GPU resource allocation, and scaling FastAPI backends on clusters.. Outcomes: Deploy ML models as K8s services, Configure GPU-enabled worker nodes, Manage cluster auto-scaling for inference bursts",
778
+ "metadata": {
779
+ "course_id": "OPS-K8S-101",
780
+ "category": "MLOps",
781
+ "level": "intermediate",
782
+ "prerequisites": [],
783
+ "duration": 10,
784
+ "tags": [
785
+ "Kubernetes",
786
+ "DevOps",
787
+ "Scaling"
788
+ ]
789
+ }
790
+ },
791
+ {
792
+ "page_content": "Title: High-Performance Serving with Triton. Description: Using NVIDIA Triton to serve models from multiple frameworks (PyTorch, TensorFlow, ONNX). Covers model ensemble pipelines and dynamic batching for sub-100ms latency.. Outcomes: Configure Triton Model Repository, Implement dynamic batching for high throughput, Optimize model performance with TensorRT",
793
+ "metadata": {
794
+ "course_id": "OPS-TRITON-201",
795
+ "category": "MLOps",
796
+ "level": "advanced",
797
+ "prerequisites": [
798
+ "OPS-K8S-101"
799
+ ],
800
+ "duration": 15,
801
+ "tags": [
802
+ "Triton",
803
+ "NVIDIA",
804
+ "Inference",
805
+ "Latency"
806
+ ]
807
+ }
808
+ },
809
+ {
810
+ "page_content": "Title: LLM Red Teaming & Guardrails. Description: Deep dive into LLM vulnerabilities. Learn to simulate prompt injections, implement Lakera/NeMo Guardrails, and secure RAG retrieval from data leakage.. Outcomes: Perform adversarial 'red teaming' on LLM prompts, Implement real-time injection detection layers, Secure vector retrieval pipelines from PII leakage",
811
+ "metadata": {
812
+ "course_id": "SEC-LLM-301",
813
+ "category": "AI Security",
814
+ "level": "advanced",
815
+ "prerequisites": [],
816
+ "duration": 12,
817
+ "tags": [
818
+ "Security",
819
+ "Red Teaming",
820
+ "Prompt Injection"
821
+ ]
822
+ }
823
+ },
824
+ {
825
+ "page_content": "Title: Billion-Scale Vector Ops. Description: Scaling beyond managed services. Managing Milvus clusters, fine-tuning HNSW parameters, and partitioning massive datasets for distributed search.. Outcomes: Architect distributed Milvus clusters, Tune index performance for billion-scale search, Implement complex metadata filtering at scale",
826
+ "metadata": {
827
+ "course_id": "DTA-MIL-401",
828
+ "category": "Data Engineering",
829
+ "level": "expert",
830
+ "prerequisites": [
831
+ "OPS-K8S-101"
832
+ ],
833
+ "duration": 18,
834
+ "tags": [
835
+ "Milvus",
836
+ "Vector DB",
837
+ "Optimization"
838
+ ]
839
+ }
840
+ },
841
+ {
842
+ "page_content": "Title: Data Fundamentals for Talent Ops. Description: Foundational course on HR metrics and data hygiene. Learn to structure talent data for analysis and move beyond simple spreadsheets.. Outcomes: Define key workforce KPIs, Structure unstructured talent data for reporting, Basics of data-driven decision making in recruitment",
843
+ "metadata": {
844
+ "course_id": "BUS-DATA-101",
845
+ "category": "Workforce Analytics",
846
+ "level": "beginner",
847
+ "prerequisites": [],
848
+ "duration": 5,
849
+ "tags": [
850
+ "Data",
851
+ "HR",
852
+ "Basics"
853
+ ]
854
+ }
855
+ },
856
+ {
857
+ "page_content": "Title: SQL for Workforce Analytics. Description: Learn to query internal talent databases. Covers JOINs, aggregations, and subqueries to find hiring trends and predict churn.. Outcomes: Write SQL queries to extract talent metrics, Analyze historical hiring data for trends, Build basic labor supply reports",
858
+ "metadata": {
859
+ "course_id": "BUS-SQL-201",
860
+ "category": "Data Science",
861
+ "level": "intermediate",
862
+ "prerequisites": [
863
+ "BUS-DATA-101"
864
+ ],
865
+ "duration": 12,
866
+ "tags": [
867
+ "SQL",
868
+ "Analytics",
869
+ "Database"
870
+ ]
871
+ }
872
+ },
873
+ {
874
+ "page_content": "Title: Mastering AI Talent Platforms. Description: Deep dive into Eightfold.ai and SeekOut. Learn to use deep-learning matching, skill-adjacency analysis, and automated sourcing bots.. Outcomes: Configure AI matching filters, Analyze talent pools for skill gaps using AI, Manage automated sourcing workflows",
875
+ "metadata": {
876
+ "course_id": "BUS-AI-301",
877
+ "category": "Recruitment Tech",
878
+ "level": "advanced",
879
+ "prerequisites": [
880
+ "BUS-DATA-101"
881
+ ],
882
+ "duration": 10,
883
+ "tags": [
884
+ "AI",
885
+ "Eightfold",
886
+ "Recruitment"
887
+ ]
888
+ }
889
+ },
890
+ {
891
+ "page_content": "Title: Enterprise VMS Strategy. Description: Managing contingent labor at scale using SAP Fieldglass. Covers vendor optimization, bill-rate management, and compliance audits.. Outcomes: Navigate SAP Fieldglass VMS, Optimize bill-rates across global vendors, Manage contingent workforce compliance",
892
+ "metadata": {
893
+ "course_id": "BUS-VMS-401",
894
+ "category": "Logistics",
895
+ "level": "intermediate",
896
+ "prerequisites": [],
897
+ "duration": 8,
898
+ "tags": [
899
+ "VMS",
900
+ "SAP",
901
+ "Contingent Labor"
902
+ ]
903
+ }
904
+ }
905
+ ]
Notebooks/predictions/predicted_atharva_gaykar.json ADDED
@@ -0,0 +1,124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "candidate_name": "Atharva Gaykar",
3
+ "skill_gap_analysis_data": {
4
+ "job_title": "Senior ML & MLOps Architect",
5
+ "candidate_name": "Atharva Gaykar",
6
+ "analyzed_gaps": [
7
+ {
8
+ "skill_name": "Kubernetes",
9
+ "gap_type": "missing_foundation",
10
+ "priority": "high",
11
+ "reasoning": "JD mandates K8s for production deployments; candidate only lists Docker with no orchestration experience.",
12
+ "target_competency": "Deploy and scale FastAPI micro-services and vector DBs on a K8s cluster"
13
+ },
14
+ {
15
+ "skill_name": "NVIDIA Triton Inference Server",
16
+ "gap_type": "missing_foundation",
17
+ "priority": "high",
18
+ "reasoning": "JD explicitly requires Triton for GPU model serving; resume shows TensorFlow/PyTorch usage in notebooks but no inference-server exposure.",
19
+ "target_competency": "Package TensorFlow models for Triton, configure GPU batching and model warmup"
20
+ },
21
+ {
22
+ "skill_name": "Milvus",
23
+ "gap_type": "missing_foundation",
24
+ "priority": "medium",
25
+ "reasoning": "JD lists Milvus as a required vector DB; candidate has only used Pinecone, a managed SaaS, and needs self-hosted Milvus skills.",
26
+ "target_competency": "Deploy Milvus on K8s, create collections, tune indexing for million-scale embeddings"
27
+ },
28
+ {
29
+ "skill_name": "Weaviate",
30
+ "gap_type": "missing_foundation",
31
+ "priority": "medium",
32
+ "reasoning": "JD names Weaviate alongside Milvus; candidate has no record of using this open-source vector DB.",
33
+ "target_competency": "Stand up Weaviate cluster, design schema, perform hybrid vector searches"
34
+ },
35
+ {
36
+ "skill_name": "Arize Phoenix",
37
+ "gap_type": "missing_foundation",
38
+ "priority": "medium",
39
+ "reasoning": "JD expects LLM observability via Arize Phoenix; resume lacks any monitoring/observability tooling experience.",
40
+ "target_competency": "Integrate Phoenix SDK into LangChain pipelines, trace prompt/response latency and drift"
41
+ },
42
+ {
43
+ "skill_name": "LangSmith",
44
+ "gap_type": "missing_foundation",
45
+ "priority": "medium",
46
+ "reasoning": "JD lists LangSmith for LLM observability; candidate has LangChain but no mention of LangSmith tracing.",
47
+ "target_competency": "Enable LangSmith tracing, set up evaluators for retrieval accuracy and token cost"
48
+ },
49
+ {
50
+ "skill_name": "LLM Red Teaming and Security",
51
+ "gap_type": "missing_foundation",
52
+ "priority": "high",
53
+ "reasoning": "JD requires red-teaming expertise; candidate shows no security-focused projects or prompt-injection mitigation experience.",
54
+ "target_competency": "Design red-team test suite, identify prompt-injection vulnerabilities in RAG pipelines"
55
+ },
56
+ {
57
+ "skill_name": "Prompt Injection mitigation",
58
+ "gap_type": "missing_foundation",
59
+ "priority": "high",
60
+ "reasoning": "JD explicitly asks for prompt-injection defenses; resume lacks any security implementations.",
61
+ "target_competency": "Implement input sanitization, output filtering, and adversarial prompt detection"
62
+ },
63
+ {
64
+ "skill_name": "Lakera Guard implementation",
65
+ "gap_type": "missing_foundation",
66
+ "priority": "medium",
67
+ "reasoning": "JD specifies Lakera Guard for LLM security; candidate has no record of using this or similar guardrails.",
68
+ "target_competency": "Deploy Lakera Guard API, configure policies for PII and prompt-injection blocking"
69
+ }
70
+ ],
71
+ "is_fresher_adaptation_needed": true,
72
+ "executive_summary": "Fresher with solid AI/ML prototyping skills (LangChain, LangGraph, Pinecone) but no production-grade MLOps or security exposure. Must build foundations in container orchestration, GPU inference serving, and LLM security before touching architect-level responsibilities."
73
+ },
74
+ "mermaid_code": "flowchart TD\n A([Start — Current Skills]):::start\n subgraph W1[\"Week 1 — Kubernetes Foundations\"]\n B[OPS-K8S-101\\nKubernetes for AI Workloads]:::gap\n end\n subgraph W2[\"Week 2 — GPU Inference Serving\"]\n C[OPS-TRITON-201\\nHigh-Performance Serving with Triton]:::gap\n end\n subgraph W3[\"Week 3 — Self‑Hosted Vector DB (Milvus)\"]\n D[DTA-MIL-401\\nBillion-Scale Vector Ops]:::gap\n end\n subgraph W4[\"Week 4 — Open‑Source Vector DB (Weaviate)\"]\n E[CS-VEC-101\\nVector Databases & Semantic Search]:::gap\n end\n subgraph W5[\"Week 5 — LLM Security & Red‑Teaming\"]\n F[SEC-LLM-301\\nLLM Red Teaming & Guardrails]:::gap\n end\n subgraph W6[\"Week 6 — End‑to‑End MLOps & Observability\"]\n G[CS-MLOPS-301\\nMLOps — Model Deployment & Monitoring]:::gap\n end\n Z([Role‑Ready — Senior ML & MLOps Architect]):::done\n A --> B --> C --> D --> E --> F --> G --> Z\n classDef gap fill:#EEEDFE,stroke:#534AB7,color:#26215C\n classDef known fill:#E1F5EE,stroke:#0F6E56,color:#085041\n classDef start fill:#1D9E75,stroke:#0F6E56,color:#E1F5EE\n classDef done fill:#534AB7,stroke:#3C3489,color:#EEEDFE",
75
+ "final_roadmap": {
76
+ "candidate_name": "Atharva Gaykar",
77
+ "onboarding_summary": "Build production MLOps foundations: Kubernetes orchestration, GPU inference serving with Triton, self-hosted vector DBs (Milvus, Weaviate), LLM observability and security (Arize Phoenix, LangSmith, Red Teaming, Lakera Guard, Prompt Injection). Sequence respects prerequisites and adds professional fundamentals via introductory K8s for AI workloads.",
78
+ "roadmap": [
79
+ {
80
+ "course_id": "OPS-K8S-101",
81
+ "is_foundation": true,
82
+ "reasoning": "Introductory Kubernetes for AI workloads; no prerequisites and provides essential orchestration skills required for all subsequent MLOps modules.",
83
+ "sequence_order": 1,
84
+ "title": "Kubernetes for AI Workloads"
85
+ },
86
+ {
87
+ "course_id": "OPS-TRITON-201",
88
+ "is_foundation": false,
89
+ "reasoning": "Enables high-performance GPU model serving with NVIDIA Triton, directly addressing the Triton inference server gap.",
90
+ "sequence_order": 2,
91
+ "title": "High-Performance Serving with Triton"
92
+ },
93
+ {
94
+ "course_id": "DTA-MIL-401",
95
+ "is_foundation": false,
96
+ "reasoning": "Covers deployment and scaling of Milvus clusters on Kubernetes, fulfilling the Milvus self‑hosted competency.",
97
+ "sequence_order": 3,
98
+ "title": "Billion-Scale Vector Ops"
99
+ },
100
+ {
101
+ "course_id": "CS-VEC-101",
102
+ "is_foundation": false,
103
+ "reasoning": "Provides hands‑on experience with Weaviate (and other vector stores), meeting the Weaviate competency.",
104
+ "sequence_order": 4,
105
+ "title": "Vector Databases & Semantic Search"
106
+ },
107
+ {
108
+ "course_id": "SEC-LLM-301",
109
+ "is_foundation": false,
110
+ "reasoning": "Deep dive into LLM red‑team testing, prompt‑injection mitigation, and guardrail implementation (Lakera Guard), covering multiple security gaps.",
111
+ "sequence_order": 5,
112
+ "title": "LLM Red Teaming & Guardrails"
113
+ },
114
+ {
115
+ "course_id": "CS-MLOPS-301",
116
+ "is_foundation": false,
117
+ "reasoning": "Introduces end‑to‑end MLOps monitoring and observability pipelines, enabling integration of Arize Phoenix and LangSmith concepts.",
118
+ "sequence_order": 6,
119
+ "title": "MLOps — Model Deployment & Monitoring"
120
+ }
121
+ ],
122
+ "target_role": "Senior ML & MLOps Architect"
123
+ }
124
+ }
Notebooks/predictions/predicted_business_manager.json ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "candidate_name": "Business Manager",
3
+ "skill_gap_analysis_data": {
4
+ "job_title": "Director of Workforce Strategy & Talent Analytics",
5
+ "candidate_name": null,
6
+ "analyzed_gaps": [
7
+ {
8
+ "skill_name": "SQL",
9
+ "gap_type": "missing_foundation",
10
+ "priority": "high",
11
+ "reasoning": "JD requires SQL for data extraction and reporting; candidate's resume shows no SQL experience or projects.",
12
+ "target_competency": "Write, optimize, and maintain relational database queries for workforce data."
13
+ },
14
+ {
15
+ "skill_name": "Python",
16
+ "gap_type": "missing_foundation",
17
+ "priority": "high",
18
+ "reasoning": "Python is listed as a core analytics language; candidate has no recorded Python usage.",
19
+ "target_competency": "Develop data pipelines, perform statistical analysis, and build automation scripts."
20
+ },
21
+ {
22
+ "skill_name": "R",
23
+ "gap_type": "missing_foundation",
24
+ "priority": "high",
25
+ "reasoning": "R is required for statistical modeling; candidate's profile lacks any R experience.",
26
+ "target_competency": "Conduct advanced statistical analyses and visualizations for talent insights."
27
+ },
28
+ {
29
+ "skill_name": "Eightfold.ai",
30
+ "gap_type": "missing_foundation",
31
+ "priority": "medium",
32
+ "reasoning": "Eightfold.ai is a talent intelligence platform required by the role; candidate has no exposure to it.",
33
+ "target_competency": "Leverage Eightfold.ai for talent matching, workforce planning, and predictive analytics."
34
+ },
35
+ {
36
+ "skill_name": "SeekOut",
37
+ "gap_type": "missing_foundation",
38
+ "priority": "medium",
39
+ "reasoning": "SeekOut is listed as a sourcing tool; candidate's resume shows no experience with it.",
40
+ "target_competency": "Utilize SeekOut for candidate discovery, market mapping, and talent pipeline analytics."
41
+ },
42
+ {
43
+ "skill_name": "Beamery",
44
+ "gap_type": "missing_foundation",
45
+ "priority": "medium",
46
+ "reasoning": "Beamery is a recruitment CRM required for the role; candidate has no recorded usage.",
47
+ "target_competency": "Operate Beamery to manage candidate relationships and track talent acquisition metrics."
48
+ },
49
+ {
50
+ "skill_name": "SAP Fieldglass",
51
+ "gap_type": "missing_foundation",
52
+ "priority": "medium",
53
+ "reasoning": "SAP Fieldglass is a contingent workforce management system; candidate lacks any experience with it.",
54
+ "target_competency": "Configure and analyze contingent workforce data within SAP Fieldglass."
55
+ },
56
+ {
57
+ "skill_name": "Beeline",
58
+ "gap_type": "missing_foundation",
59
+ "priority": "medium",
60
+ "reasoning": "Beeline is another VMS platform required by the JD; candidate's profile shows no familiarity.",
61
+ "target_competency": "Manage and report on external labor spend using Beeline."
62
+ },
63
+ {
64
+ "skill_name": "Tableau",
65
+ "gap_type": "missing_foundation",
66
+ "priority": "high",
67
+ "reasoning": "Tableau is a primary visualization tool for the role; candidate has no Tableau experience.",
68
+ "target_competency": "Create interactive dashboards and visual analytics for workforce strategy."
69
+ },
70
+ {
71
+ "skill_name": "Power BI",
72
+ "gap_type": "missing_foundation",
73
+ "priority": "high",
74
+ "reasoning": "Power BI is required for reporting; candidate's resume does not list any Power BI usage.",
75
+ "target_competency": "Develop Power BI reports and data models to support talent analytics."
76
+ }
77
+ ],
78
+ "is_fresher_adaptation_needed": true,
79
+ "executive_summary": "The candidate is a fresher with no recorded technical experience. All required competencies for the role are missing, so foundational training across data analysis, programming, and talent intelligence platforms is essential before any advanced onboarding."
80
+ }
81
+ }
Notebooks/predictions/predicted_case_manager.json ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "candidate_name": "Case Manager",
3
+ "skill_gap_analysis_data": {
4
+ "job_title": "Clinical Operations & Health Informatics Manager",
5
+ "candidate_name": null,
6
+ "analyzed_gaps": [
7
+ {
8
+ "skill_name": "Epic",
9
+ "gap_type": "missing_foundation",
10
+ "priority": "high",
11
+ "reasoning": "JD requires expert-level Epic experience; candidate has no experience or listed skills.",
12
+ "target_competency": "Achieve expert proficiency in Epic EMR system"
13
+ },
14
+ {
15
+ "skill_name": "Cerner",
16
+ "gap_type": "missing_foundation",
17
+ "priority": "high",
18
+ "reasoning": "JD requires expert-level Cerner experience; candidate has no experience or listed skills.",
19
+ "target_competency": "Achieve expert proficiency in Cerner EMR system"
20
+ },
21
+ {
22
+ "skill_name": "Allscripts",
23
+ "gap_type": "missing_foundation",
24
+ "priority": "high",
25
+ "reasoning": "JD requires expert-level Allscripts experience; candidate has no experience or listed skills.",
26
+ "target_competency": "Achieve expert proficiency in Allscripts EMR system"
27
+ },
28
+ {
29
+ "skill_name": "Power BI",
30
+ "gap_type": "missing_foundation",
31
+ "priority": "medium",
32
+ "reasoning": "JD requires proficient Power BI skills; candidate has no experience or listed skills.",
33
+ "target_competency": "Develop proficient Power BI reporting and dashboarding capabilities"
34
+ },
35
+ {
36
+ "skill_name": "Tableau",
37
+ "gap_type": "missing_foundation",
38
+ "priority": "medium",
39
+ "reasoning": "JD requires proficient Tableau skills; candidate has no experience or listed skills.",
40
+ "target_competency": "Develop proficient Tableau visualization and analytics capabilities"
41
+ },
42
+ {
43
+ "skill_name": "InterQual",
44
+ "gap_type": "missing_foundation",
45
+ "priority": "high",
46
+ "reasoning": "JD requires mastery of InterQual clinical decision support; candidate has no experience or listed skills.",
47
+ "target_competency": "Attain mastery of InterQual utilization for care pathways"
48
+ },
49
+ {
50
+ "skill_name": "MCG",
51
+ "gap_type": "missing_foundation",
52
+ "priority": "high",
53
+ "reasoning": "JD requires mastery of MCG guidelines; candidate has no experience or listed skills.",
54
+ "target_competency": "Attain mastery of MCG clinical guidelines and application"
55
+ },
56
+ {
57
+ "skill_name": "HIPAA",
58
+ "gap_type": "missing_foundation",
59
+ "priority": "high",
60
+ "reasoning": "JD requires advanced HIPAA knowledge; candidate has no experience or listed skills.",
61
+ "target_competency": "Demonstrate advanced understanding of HIPAA compliance"
62
+ },
63
+ {
64
+ "skill_name": "Medicaid",
65
+ "gap_type": "missing_foundation",
66
+ "priority": "high",
67
+ "reasoning": "JD requires advanced Medicaid expertise; candidate has no experience or listed skills.",
68
+ "target_competency": "Develop advanced knowledge of Medicaid policies and processes"
69
+ },
70
+ {
71
+ "skill_name": "Medicare",
72
+ "gap_type": "missing_foundation",
73
+ "priority": "high",
74
+ "reasoning": "JD requires advanced Medicare expertise; candidate has no experience or listed skills.",
75
+ "target_competency": "Develop advanced knowledge of Medicare regulations and reimbursement"
76
+ }
77
+ ],
78
+ "is_fresher_adaptation_needed": true,
79
+ "executive_summary": "The candidate is a fresher with no recorded technical experience. All required clinical informatics and analytics tools are absent, indicating a need for foundational training across the entire skill set."
80
+ }
81
+ }
Notebooks/predictions/predicted_executive_chef.json ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "candidate_name": "Executive Chef",
3
+ "skill_gap_analysis_data": {
4
+ "job_title": "Director of Corporate Culinary Operations & Sustainability",
5
+ "candidate_name": null,
6
+ "analyzed_gaps": [
7
+ {
8
+ "skill_name": "AI-driven food waste analytics",
9
+ "gap_type": "missing_foundation",
10
+ "priority": "high",
11
+ "reasoning": "JD requires AI-driven food waste analytics; candidate resume shows zero experience, skills, or projects related to analytics or food waste.",
12
+ "target_competency": "Develop and interpret AI models to reduce food waste in corporate kitchens"
13
+ },
14
+ {
15
+ "skill_name": "Supply Chain Management software",
16
+ "gap_type": "missing_foundation",
17
+ "priority": "high",
18
+ "reasoning": "JD lists advanced proficiency in Supply Chain Management software; candidate has no recorded exposure to any supply chain tools.",
19
+ "target_competency": "Configure and operate supply chain management platforms for culinary operations"
20
+ },
21
+ {
22
+ "skill_name": "Modernist Cuisine techniques",
23
+ "gap_type": "missing_foundation",
24
+ "priority": "high",
25
+ "reasoning": "JD demands mastery of Modernist Cuisine techniques; candidate's resume contains no culinary training or technique experience.",
26
+ "target_competency": "Apply modernist cooking methods to create innovative menu items"
27
+ },
28
+ {
29
+ "skill_name": "P&L management",
30
+ "gap_type": "missing_foundation",
31
+ "priority": "high",
32
+ "reasoning": "JD requires P&L management capability; candidate has no financial or budgeting experience documented.",
33
+ "target_competency": "Manage profit and loss statements for large-scale culinary operations"
34
+ },
35
+ {
36
+ "skill_name": "Winnow Solutions",
37
+ "gap_type": "missing_foundation",
38
+ "priority": "high",
39
+ "reasoning": "JD lists Winnow Solutions as a required tool; candidate's skill list is empty, indicating no familiarity.",
40
+ "target_competency": "Utilize Winnow Solutions to track and reduce food waste"
41
+ },
42
+ {
43
+ "skill_name": "Leanpath",
44
+ "gap_type": "missing_foundation",
45
+ "priority": "high",
46
+ "reasoning": "JD expects experience with Leanpath; candidate has no recorded usage of this platform.",
47
+ "target_competency": "Implement Leanpath waste tracking and analytics in kitchen workflows"
48
+ },
49
+ {
50
+ "skill_name": "MarketMan",
51
+ "gap_type": "missing_foundation",
52
+ "priority": "high",
53
+ "reasoning": "JD requires MarketMan proficiency; candidate's resume shows no exposure to procurement or inventory software.",
54
+ "target_competency": "Operate MarketMan for inventory management and supplier coordination"
55
+ },
56
+ {
57
+ "skill_name": "SAP S/4HANA Culinary",
58
+ "gap_type": "missing_foundation",
59
+ "priority": "high",
60
+ "reasoning": "JD specifies SAP S/4HANA Culinary expertise; candidate lacks any SAP or ERP experience.",
61
+ "target_competency": "Configure and use SAP S/4HANA modules specific to culinary operations"
62
+ }
63
+ ],
64
+ "is_fresher_adaptation_needed": true,
65
+ "executive_summary": "The candidate is a fresher with no recorded technical experience or project exposure. All core competencies required for the Director role are absent, indicating a need for comprehensive foundational training across culinary analytics, supply chain software, and financial management."
66
+ }
67
+ }
Notebooks/skill_gap_output.json ADDED
File without changes
app/agents/agents.py CHANGED
@@ -1,10 +1,12 @@
1
  from langchain_groq import ChatGroq
2
- from app.schemas.pydanticschema import ResumeExtract,JobDescriptionExtract,SkillGapAnalysis
 
 
3
  from app.core.config import settings
4
  from app.tools.tools import roadmap_planner_agent_tools
5
  from app.prompts.roadmap_planner_agent_prompt import roadmap_planner_agent_prompt
 
6
  from typing import Any
7
- from langchain.agents import create_agent
8
  from langchain.agents.middleware import ToolCallLimitMiddleware
9
  import os
10
 
@@ -12,7 +14,7 @@ if "GROQ_API_KEY" not in os.environ:
12
  os.environ["GROQ_API_KEY"] = settings.GROQ_API_KEY
13
 
14
  resume_agent=ChatGroq(
15
- model="moonshotai/kimi-k2-instruct-0905",
16
  temperature=0.2,
17
  )
18
 
@@ -26,7 +28,7 @@ resume_agent=resume_agent.with_structured_output(
26
  )
27
 
28
  jd_agent=ChatGroq(
29
- model="meta-llama/llama-4-scout-17b-16e-instruct",
30
  temperature=0.2,
31
  )
32
 
@@ -53,20 +55,12 @@ gap_analysis_agent=gap_analysis_agent.with_structured_output(
53
  strict=True
54
  )
55
 
56
-
57
- rd_planner_agent=ChatGroq(
58
  model="qwen/qwen3-32b",
59
- temperature=0.1,
60
- )
61
- roadmap_planner_agent = create_agent(
62
- model=rd_planner_agent,
63
- tools=roadmap_planner_agent_tools,
64
- system_prompt=roadmap_planner_agent_prompt,
65
- middleware=[
66
- ToolCallLimitMiddleware[Any, None](
67
- tool_name="search_courses",
68
- run_limit=4,
69
- thread_limit=10,
70
- )
71
- ],
72
  )
 
 
 
 
 
 
1
  from langchain_groq import ChatGroq
2
+ from app.schemas.jd_extract_schema import JobDescriptionExtract
3
+ from app.schemas.resume_extract_schema import ResumeExtract
4
+ from app.schemas.skill_gap_analysis_schema import SkillGapAnalysis
5
  from app.core.config import settings
6
  from app.tools.tools import roadmap_planner_agent_tools
7
  from app.prompts.roadmap_planner_agent_prompt import roadmap_planner_agent_prompt
8
+ from app.tools.tools import *
9
  from typing import Any
 
10
  from langchain.agents.middleware import ToolCallLimitMiddleware
11
  import os
12
 
 
14
  os.environ["GROQ_API_KEY"] = settings.GROQ_API_KEY
15
 
16
  resume_agent=ChatGroq(
17
+ model="meta-llama/llama-4-scout-17b-16e-instruct",
18
  temperature=0.2,
19
  )
20
 
 
28
  )
29
 
30
  jd_agent=ChatGroq(
31
+ model="openai/gpt-oss-20b",
32
  temperature=0.2,
33
  )
34
 
 
55
  strict=True
56
  )
57
 
58
+ base_llm = ChatGroq(
 
59
  model="qwen/qwen3-32b",
60
+ temperature=0.1,
 
 
 
 
 
 
 
 
 
 
 
 
61
  )
62
+
63
+
64
+ roadmap_planner_agent_tools=[search_courses,submit_final_roadmap,submit_mermaid_visualization]
65
+ roadmap_planner_agent=base_llm.bind_tools(roadmap_planner_agent_tools)
66
+
app/{tools → course_data}/Catalog.json RENAMED
File without changes
app/graph.py CHANGED
@@ -1,12 +1,12 @@
1
  from app.state.state import OnboardingState
2
  from app.nodes.graphnodes import *
3
  from langgraph.prebuilt import ToolNode ,tools_condition
4
- from app.agents.agents import roadmap_planner_agent
5
  from langgraph.graph import StateGraph,END,START
6
 
 
 
7
  builder = StateGraph(OnboardingState)
8
 
9
- # Define Nodes
10
  # Define Nodes
11
  builder.add_node("input_node", input_node)
12
  builder.add_node("resume_data_extraction", extractResumeDataNode)
@@ -14,13 +14,11 @@ builder.add_node("jd_data_extraction", extractJDDataNode)
14
  builder.add_node("skill_gap_analysis", skill_gap_node)
15
 
16
  # The ReAct Agent Node
17
- builder.add_node("roadmap_planning_agent", roadmap_planner_agent)
18
 
19
  # The Tool Execution Node (Required for the loop)
20
  builder.add_node("tools", ToolNode(roadmap_planner_agent_tools))
21
 
22
- builder.add_node("finalize_state", finalize_state_node)
23
-
24
  # 5. Define Edges and Workflow
25
  builder.add_edge(START, "input_node")
26
  builder.add_edge("input_node", "resume_data_extraction")
@@ -36,10 +34,10 @@ builder.add_edge("skill_gap_analysis", "roadmap_planning_agent")
36
  # Agentic ReAct Loop
37
  builder.add_conditional_edges(
38
  "roadmap_planning_agent",
39
- tools_condition, # Built-in: routes to "tools" if the model calls a tool
40
  {
41
- "tools": "tools",
42
- END: "finalize_state" # Routes to finalize if the model gives a final answer
43
  }
44
  )
45
 
 
1
  from app.state.state import OnboardingState
2
  from app.nodes.graphnodes import *
3
  from langgraph.prebuilt import ToolNode ,tools_condition
 
4
  from langgraph.graph import StateGraph,END,START
5
 
6
+
7
+
8
  builder = StateGraph(OnboardingState)
9
 
 
10
  # Define Nodes
11
  builder.add_node("input_node", input_node)
12
  builder.add_node("resume_data_extraction", extractResumeDataNode)
 
14
  builder.add_node("skill_gap_analysis", skill_gap_node)
15
 
16
  # The ReAct Agent Node
17
+ builder.add_node("roadmap_planning_agent", roadmap_planning_node)
18
 
19
  # The Tool Execution Node (Required for the loop)
20
  builder.add_node("tools", ToolNode(roadmap_planner_agent_tools))
21
 
 
 
22
  # 5. Define Edges and Workflow
23
  builder.add_edge(START, "input_node")
24
  builder.add_edge("input_node", "resume_data_extraction")
 
34
  # Agentic ReAct Loop
35
  builder.add_conditional_edges(
36
  "roadmap_planning_agent",
37
+ tools_condition,
38
  {
39
+ "tools": "tools",
40
+ END: END
41
  }
42
  )
43
 
app/nodes/graphnodes.py CHANGED
@@ -5,11 +5,14 @@ from app.prompts.jd_agent_prompt import jd_agent_prompt
5
  from app.prompts.roadmap_planner_agent_prompt import roadmap_planner_agent_prompt
6
  from app.agents.agents import resume_agent,jd_agent,roadmap_planner_agent,gap_analysis_agent
7
  from app.prompts.gap_analysis_agent_prompt import gap_analysis_agent_prompt
8
- from app.schemas.pydanticschema import ResumeExtract,JobDescriptionExtract,SkillGapAnalysis
9
  import json
10
  from app.tools.tools import *
11
  from langchain_community.document_loaders import PyMuPDFLoader
12
  from langgraph.prebuilt import ToolNode ,tools_condition
 
 
 
 
13
 
14
  def input_node(state: OnboardingState):
15
 
@@ -126,38 +129,23 @@ def skill_gap_node(state: OnboardingState):
126
 
127
 
128
 
129
- def finalize_state_node(state: OnboardingState):
130
  """
131
- Final node that extracts structured data from the message scratchpad
132
- and populates the main state keys. No global variables needed!
133
  """
134
- final_roadmap = None
135
- mermaid_code = None
136
-
137
- # We search the messages in reverse to find the LATEST tool calls
138
- for msg in reversed(state["messages"]):
139
- # Check if the message has tool calls (this will be an AIMessage)
140
- if hasattr(msg, "tool_calls") and msg.tool_calls:
141
- for tool_call in msg.tool_calls:
142
-
143
- # 1. Extract the Roadmap JSON
144
- if tool_call["name"] == "submit_final_roadmap":
145
- final_roadmap = tool_call["args"]
146
-
147
- # 2. Extract the Mermaid String
148
- elif tool_call["name"] == "submit_mermaid_visualization":
149
- mermaid_code = tool_call["args"].get("mermaid_code")
150
-
151
- # Once we have both, we can stop searching
152
- if final_roadmap and mermaid_code:
153
- break
154
 
155
 
156
 
157
- return {
158
- "final_roadmap": final_roadmap,
159
- "mermaid_code": mermaid_code
160
- }
161
 
162
 
163
 
 
5
  from app.prompts.roadmap_planner_agent_prompt import roadmap_planner_agent_prompt
6
  from app.agents.agents import resume_agent,jd_agent,roadmap_planner_agent,gap_analysis_agent
7
  from app.prompts.gap_analysis_agent_prompt import gap_analysis_agent_prompt
 
8
  import json
9
  from app.tools.tools import *
10
  from langchain_community.document_loaders import PyMuPDFLoader
11
  from langgraph.prebuilt import ToolNode ,tools_condition
12
+ from app.schemas.jd_extract_schema import JobDescriptionExtract
13
+ from app.schemas.resume_extract_schema import ResumeExtract
14
+ from app.schemas.skill_gap_analysis_schema import SkillGapAnalysis
15
+
16
 
17
  def input_node(state: OnboardingState):
18
 
 
129
 
130
 
131
 
132
+ def roadmap_planning_node(state: OnboardingState):
133
  """
134
+ The agent's 'thinking' node. It looks at the Skill Gaps and
135
+ decides which tool to call next.
136
  """
137
+ skill_gap_data = state["skill_gap_analysis_data"]
138
+
139
+ skill_gap_data= skill_gap_data.model_dump()
140
+
141
+ system_prompt = SystemMessage(content=roadmap_planner_agent_prompt)
142
+ input_msg = HumanMessage(content=f"<skill_gap_data> {skill_gap_data} </skill_gap_data>")
143
+
144
+ response = roadmap_planner_agent.invoke([system_prompt, input_msg] + state["messages"])
 
 
 
 
 
 
 
 
 
 
 
 
145
 
146
 
147
 
148
+ return {"messages": [response]}
 
 
 
149
 
150
 
151
 
app/prompts/gap_analysis_agent_prompt.py CHANGED
@@ -1,23 +1,18 @@
1
  gap_analysis_agent_prompt="""
2
  <role>
3
- You are an expert technical assessor and the core intelligence of an AI-driven, adaptive onboarding engine[cite: 5].
4
- Your objective is to parse a new hire's current capabilities against a target job description and identify precise skill gaps to reach role-specific competency[cite: 5].
 
5
  </role>
6
-
7
- <context>
8
- Current corporate onboarding utilizes static, "one-size-fits-all" curricula, resulting in significant inefficiencies[cite: 3].
9
- Your ultimate goal is to solve this: you must ensure experienced hires do NOT waste time on known concepts, while ensuring beginners are NOT overwhelmed by advanced modules[cite: 3, 4].
10
- </context>
11
-
12
  <rules>
13
  - Cross-reference the JD's `skills_required` and `tools_technologies` against the candidate's `skills_list`, `experience.technologies`, and `projects.technologies`.
14
  - Identify Hard Gaps: Technologies explicitly required by the JD that are completely absent from the candidate's profile.
15
  - Apply Adaptive Logic (Proficiency Gaps):
16
  - For Experienced Hires: If they possess the skill, DO NOT flag it for basic training. Only flag a gap if they need an advanced, role-specific upgrade based on low duration of use.
17
  - For Beginners/Freshers: Flag foundational gaps and prerequisites heavily to ensure they are prepared before tackling complex JD requirements.
18
- - Keep skills atomic and highly specific (e.g., output "FastAPI" or "PostgreSQL", do NOT output vague terms like "Backend Frameworks").
19
  - Do NOT hallucinate requirements that are not explicitly stated in the JD data.
20
- - Do NOT attempt to build the curriculum or suggest courses yet. Your sole focus is diagnosing the gaps.
21
  - Provide a concise `reasoning` string for each identified gap. This reasoning MUST justify why the gap exists based on the user's experience level to prove the adaptive logic.
22
  </rules>
23
  <output_format>
 
1
  gap_analysis_agent_prompt="""
2
  <role>
3
+ You are an expert technical assessor .
4
+ Your objective is to parse a new hire's current capabilities against a target job description and identify precise skill gaps to reach role-specific competency.
5
+ Your sole focus is diagnosing the gaps.
6
  </role>
 
 
 
 
 
 
7
  <rules>
8
  - Cross-reference the JD's `skills_required` and `tools_technologies` against the candidate's `skills_list`, `experience.technologies`, and `projects.technologies`.
9
  - Identify Hard Gaps: Technologies explicitly required by the JD that are completely absent from the candidate's profile.
10
  - Apply Adaptive Logic (Proficiency Gaps):
11
  - For Experienced Hires: If they possess the skill, DO NOT flag it for basic training. Only flag a gap if they need an advanced, role-specific upgrade based on low duration of use.
12
  - For Beginners/Freshers: Flag foundational gaps and prerequisites heavily to ensure they are prepared before tackling complex JD requirements.
13
+ - Keep skills atomic and highly specific (e.g., output "FastAPI" or "PostgreSQL", do NOT output terms like "Backend Frameworks").
14
  - Do NOT hallucinate requirements that are not explicitly stated in the JD data.
15
+ Your sole focus is diagnosing the gaps.
16
  - Provide a concise `reasoning` string for each identified gap. This reasoning MUST justify why the gap exists based on the user's experience level to prove the adaptive logic.
17
  </rules>
18
  <output_format>
app/prompts/jd_agent_prompt.py CHANGED
@@ -5,25 +5,12 @@ Extract structured information from the given job description.
5
  </role>
6
 
7
  <rules>
8
- - Extract ONLY explicitly mentioned information. Do NOT infer or hallucinate.
9
-
10
- - Follow the provided schema strictly.
11
-
12
  - If a field is not present, return null (not empty list unless schema default applies).
13
-
14
  - Keep skills atomic (e.g., Python, SQL, React).
15
-
16
  - Do NOT mix fields:
17
  - skills = only required skills
18
  - responsibilities = what the candidate will do
19
- - constraints = restrictions like location, duration, eligibility
20
-
21
- - Convert durations like "6 months" into integer months.
22
 
23
- - is_fresher_allowed:
24
- - True only if explicitly allowed
25
- - False only if explicitly restricted
26
-
27
  </rules>
28
 
29
  <output_format>
 
5
  </role>
6
 
7
  <rules>
 
 
 
 
8
  - If a field is not present, return null (not empty list unless schema default applies).
 
9
  - Keep skills atomic (e.g., Python, SQL, React).
 
10
  - Do NOT mix fields:
11
  - skills = only required skills
12
  - responsibilities = what the candidate will do
 
 
 
13
 
 
 
 
 
14
  </rules>
15
 
16
  <output_format>
app/prompts/roadmap_planner_agent_prompt.py CHANGED
@@ -6,50 +6,37 @@ Transform a Skill Gap Analysis into a minimal, logically sequenced learning road
6
 
7
  <strict_workflow>
8
  STEP 1 — SEARCH
9
- For every gap → call search_courses.
10
- Use ONLY course IDs returned by the tool. Never guess IDs.
11
-
12
- STEP 2 — RESOLVE PREREQUISITES
13
- For each retrieved course inspect its prerequisites list.
14
- If candidate's resume does NOT prove mastery → call get_course_by_id for each missing prerequisite.
15
- Skip courses the candidate already demonstrates via projects or experience.
16
 
17
  STEP 3 — SEQUENCE
18
- Prerequisites always before target modules.
19
  sequence_order must be 1, 2, 3... strictly.
20
- If is_fresher_adaptation_needed is True → add a professional fundamentals module first.
21
 
22
  STEP 4 — SUBMIT (TERMINAL STEP)
23
  Call submit_final_roadmap ONCE with the complete roadmap.
24
  Call submit_mermaid_visualization ONCE with the Mermaid string.
25
- After both return → STOP. Do not call any tool again.
26
  </strict_workflow>
27
 
28
- <mermaid_rules>
29
- - gap courses → :::gap
30
- - known prerequisites → :::known
31
- - start node :::start
32
- - end node → :::done
33
- - group by week using subgraph
34
- </mermaid_rules>
35
 
36
- <example_mermaid>
37
  flowchart TD
38
- A([Start — Candidate's current skills]):::start
39
- subgraph W1["Week 1 — Core gaps"]
40
- B[CS-DOCKER-101\nDocker & Containerization]:::gap
41
- C[CS-PY-101\nPython Fundamentals]:::known
42
  end
43
- subgraph W2["Week 2 — Role readiness"]
44
- D[CS-CICD-201\nCI/CD with GitHub Actions]:::gap
45
  end
46
- Z([Role-ready — DevOps Engineer]):::done
47
- A --> B & C
48
- B --> D
49
- D --> Z
50
- classDef gap fill:#EEEDFE,stroke:#534AB7,color:#26215C
51
- classDef known fill:#E1F5EE,stroke:#0F6E56,color:#085041
52
- classDef start fill:#1D9E75,stroke:#0F6E56,color:#E1F5EE
53
- classDef done fill:#534AB7,stroke:#3C3489,color:#EEEDFE
54
- </example_mermaid>
55
- """
 
6
 
7
  <strict_workflow>
8
  STEP 1 — SEARCH
9
+ For every gap → call search_courses.
10
+ <imp>Use ONLY course IDs returned by the tool. Never guess IDs.</imp>
 
 
 
 
 
11
 
12
  STEP 3 — SEQUENCE
 
13
  sequence_order must be 1, 2, 3... strictly.
14
+ If is_fresher_adaptation_needed is True → add professional fundamentals first.
15
 
16
  STEP 4 — SUBMIT (TERMINAL STEP)
17
  Call submit_final_roadmap ONCE with the complete roadmap.
18
  Call submit_mermaid_visualization ONCE with the Mermaid string.
 
19
  </strict_workflow>
20
 
21
+ <mermaid_quick_guide>
22
+ Gap courses → :::gap
23
+ Start :::start | End → :::done
24
+ Group by week using subgraph W1, W2, W3, etc.
 
 
 
25
 
26
+ Example:
27
  flowchart TD
28
+ A([Start]):::start
29
+ subgraph W1["Week 1"]
30
+ B[CS-DOCKER-101]:::gap
 
31
  end
32
+ subgraph W2["Week 2"]
33
+ C[CS-CICD-201]:::gap
34
  end
35
+ Z([Ready]):::done
36
+ A --> B --> C --> Z
37
+ classDef gap fill:#EEEDFE,stroke:#534AB7
38
+ classDef known fill:#E1F5EE,stroke:#0F6E56
39
+ classDef start fill:#1D9E75,stroke:#0F6E56
40
+ classDef done fill:#534AB7,stroke:#3C3489
41
+ </mermaid_quick_guide>
42
+ """
 
 
app/schemas/jd_extract_schema.py ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from pydantic import BaseModel, Field
2
+ from typing import List, Optional
3
+
4
+
5
+ class SkillRequirement(BaseModel):
6
+ name: str = Field(
7
+ ...,
8
+ description="Skill or technology required for the job (e.g., Python, SQL, React)"
9
+ )
10
+ level: Optional[str] = Field(
11
+ None,
12
+ description="Expected proficiency level: beginner | intermediate | strong"
13
+ )
14
+
15
+
16
+ class ResponsibilityItem(BaseModel):
17
+ description: str = Field(
18
+ ...,
19
+ description="Key responsibility or task expected from the candidate"
20
+ )
21
+
22
+
23
+ class RequirementItem(BaseModel):
24
+ description: str = Field(
25
+ ...,
26
+ description="Qualification or requirement such as education, availability, etc."
27
+ )
28
+
29
+
30
+
31
+
32
+
33
+
34
+ class JobDescriptionExtract(BaseModel):
35
+ job_title: Optional[str] = Field(
36
+ None,
37
+ description="Job role/title (e.g., AI/ML Intern, Web Developer)"
38
+ )
39
+
40
+ company_name: Optional[str] = Field(
41
+ None,
42
+ description="Company offering the job"
43
+ )
44
+
45
+ skills_required: Optional[List[SkillRequirement]] = Field(
46
+ None,
47
+ description="List of required skills and expected levels"
48
+ )
49
+ responsibilities: Optional[List[ResponsibilityItem]] = Field(
50
+ None,
51
+ description="Key job responsibilities"
52
+ )
53
+
54
+ requirements: Optional[List[RequirementItem]] = Field(
55
+ None,
56
+ description="General requirements like availability, qualifications"
57
+ )
58
+
app/schemas/pydanticschema.py DELETED
@@ -1,341 +0,0 @@
1
- from pydantic import BaseModel, Field
2
- from typing import List, Optional, Literal
3
-
4
-
5
- class SkillRequirement(BaseModel):
6
- name: str = Field(
7
- ...,
8
- description="Skill or technology required for the job (e.g., Python, SQL, React)"
9
- )
10
- level: Optional[str] = Field(
11
- None,
12
- description="Expected proficiency level: beginner | intermediate | strong"
13
- )
14
-
15
-
16
- class ResponsibilityItem(BaseModel):
17
- description: str = Field(
18
- ...,
19
- description="Key responsibility or task expected from the candidate"
20
- )
21
-
22
-
23
- class RequirementItem(BaseModel):
24
- description: str = Field(
25
- ...,
26
- description="Qualification or requirement such as education, availability, etc."
27
- )
28
-
29
-
30
- class ConstraintItem(BaseModel):
31
- type: str = Field(
32
- ...,
33
- description="Constraint type such as location, duration, eligibility"
34
- )
35
- value: str = Field(
36
- ...,
37
- description="Constraint value (e.g., 'Pune only', '6 months', 'Fresher')"
38
- )
39
-
40
-
41
-
42
- class JobDescriptionExtract(BaseModel):
43
- job_title: Optional[str] = Field(
44
- None,
45
- description="Job role/title (e.g., AI/ML Intern, Web Developer)"
46
- )
47
-
48
- company_name: Optional[str] = Field(
49
- None,
50
- description="Company offering the job"
51
- )
52
-
53
- location: Optional[str] = Field(
54
- None,
55
- description="Job location if specified"
56
- )
57
-
58
- employment_type: Optional[str] = Field(
59
- None,
60
- description="Type of job: internship, full-time, contract"
61
- )
62
-
63
- duration_months: Optional[int] = Field(
64
- None,
65
- description="Duration of role in months (for internships/contracts)"
66
- )
67
-
68
- is_fresher_allowed: Optional[bool] = Field(
69
- None,
70
- description="Whether freshers are eligible for this role"
71
- )
72
-
73
- skills_required: Optional[List[SkillRequirement]] = Field(
74
- None,
75
- description="List of required skills and expected levels"
76
- )
77
-
78
- tools_technologies: Optional[List[str]] = Field(
79
- None,
80
- description="Specific tools/frameworks mentioned (e.g., Pandas, WordPress)"
81
- )
82
-
83
- responsibilities: Optional[List[ResponsibilityItem]] = Field(
84
- None,
85
- description="Key job responsibilities"
86
- )
87
-
88
- requirements: Optional[List[RequirementItem]] = Field(
89
- None,
90
- description="General requirements like availability, qualifications"
91
- )
92
-
93
- constraints: Optional[List[ConstraintItem]] = Field(
94
- None,
95
- description="Special constraints like location restriction, duration, etc."
96
- )
97
-
98
-
99
-
100
- class Skill(BaseModel):
101
- name: str = Field(..., description="Skill name e.g. Python, Docker")
102
- category: Optional[str] = Field(
103
- None, description="Category: Backend | ML | DevOps | Frontend | Other"
104
- )
105
-
106
-
107
- class ExperienceItem(BaseModel):
108
- job_title: str = Field(
109
- ...,
110
- description="Role title of the candidate. Example: 'Backend Intern', 'Software Engineer'"
111
- )
112
-
113
- experience_type: Optional[Literal['internship', 'full_time', 'contract', 'freelance']] = Field(
114
- None,
115
- description="Type of experience: internship, full_time, contract, or freelance"
116
- )
117
-
118
- technologies: Optional[List[str]] = Field(
119
- default_factory=list,
120
- description="Technologies, tools, or frameworks used in this role"
121
- )
122
-
123
- responsibilities: Optional[List[str]] = Field(
124
- default_factory=list,
125
- description="Key responsibilities, tasks, or learnings in concise bullet points"
126
- )
127
-
128
- class ProjectItem(BaseModel):
129
- name: str = Field(..., description="Project name")
130
- technologies: List[str] = Field(
131
- default_factory=list,
132
- description="Technologies used in this project ,hence learned in the project"
133
- )
134
-
135
-
136
-
137
- class CertificationItem(BaseModel):
138
- name: str = Field(..., description="Certification name")
139
-
140
- topics_covered: List[str] = Field(
141
- default_factory=list,
142
- description="Key topics or skills the certification covers"
143
- )
144
-
145
-
146
-
147
-
148
-
149
-
150
- class ResumeExtract(BaseModel):
151
-
152
-
153
- candidate_name:Optional[str]
154
-
155
-
156
- job_title: Optional[str] = Field(
157
- None,
158
- description=(
159
- "Primary job title or role of the candidate. "
160
- "Examples: 'AI Engineer', 'Data Scientist', "
161
- "'Construction Project Manager', 'Healthcare Representative'. "
162
- "Should reflect the most recent or current role."
163
- )
164
- )
165
-
166
-
167
-
168
-
169
-
170
-
171
-
172
- skills: List[Skill] = Field(
173
- default_factory=list,
174
- description="Skills explicitly listed by the candidate"
175
- )
176
- experience: List[ExperienceItem] = Field(
177
- default_factory=list,
178
- description=(
179
- "Each role as a separate entry. "
180
- "No company name needed — focus on what was done and learned."
181
- )
182
- )
183
- projects: List[ProjectItem] = Field(
184
- default_factory=list,
185
- description="Projects with technologies used and what was built"
186
- )
187
- certifications: Optional[List[CertificationItem]] = Field(
188
- None,
189
- description="Certifications with topics they cover. None if not present."
190
- )
191
-
192
-
193
-
194
- is_fresher: bool = Field(
195
- ...,
196
- description=(
197
- "Set to True if the candidate lacks full-time professional employment. "
198
- "Academic projects, certifications, and internships are considered "
199
- "part of the learning phase and do not qualify a candidate as 'non-fresher' hence is_."
200
- )
201
- )
202
-
203
-
204
-
205
- class SkillRequirement(BaseModel):
206
- name: str = Field(
207
- ...,
208
- description="Skill or technology required for the job (e.g., Python, SQL, React)"
209
- )
210
- level: Optional[str] = Field(
211
- None,
212
- description="Expected proficiency level: beginner | intermediate | strong"
213
- )
214
-
215
-
216
- class ResponsibilityItem(BaseModel):
217
- description: str = Field(
218
- ...,
219
- description="Key responsibility or task expected from the candidate"
220
- )
221
-
222
-
223
- class RequirementItem(BaseModel):
224
- description: str = Field(
225
- ...,
226
- description="Qualification or requirement such as education, availability, etc."
227
- )
228
-
229
-
230
-
231
-
232
-
233
- class JobDescriptionExtract(BaseModel):
234
- job_title: Optional[str] = Field(
235
- None,
236
- description="Job role/title (e.g., AI/ML Intern, Web Developer)"
237
- )
238
-
239
- is_fresher_allowed: Optional[bool] = Field(
240
- None,
241
- description="Whether freshers are eligible for this role"
242
- )
243
-
244
- skills_required: Optional[List[SkillRequirement]] = Field(
245
- None,
246
- description="List of required skills and expected levels"
247
- )
248
-
249
- tools_technologies: Optional[List[str]] = Field(
250
- None,
251
- description="Specific tools/frameworks mentioned (e.g., Pandas, WordPress)"
252
- )
253
-
254
- responsibilities: Optional[List[ResponsibilityItem]] = Field(
255
- None,
256
- description="Key job responsibilities"
257
- )
258
-
259
- requirements: Optional[List[RequirementItem]] = Field(
260
- None,
261
- description="General requirements like availability, qualifications"
262
- )
263
-
264
-
265
-
266
-
267
- class SkillGap(BaseModel):
268
- skill_name: str = Field(
269
- ...,
270
- description="The specific technology or tool missing or requiring an upgrade (e.g., 'PostgreSQL')"
271
- )
272
-
273
- gap_type: Literal["missing_foundation", "needs_advanced_upgrade"] = Field(
274
- ...,
275
- description=(
276
- "missing_foundation: Candidate has no recorded experience in this core requirement. "
277
- "needs_advanced_upgrade: Candidate knows the basics but needs role-specific advanced training."
278
- )
279
- )
280
-
281
- priority: Literal["high", "medium", "low"] = Field(
282
- ...,
283
- description="How critical this skill is for the target job role."
284
- )
285
-
286
- reasoning: str = Field(
287
- ...,
288
- description=(
289
- "The 'Reasoning Trace'. This MUST be provided for every skill gap identified. "
290
- "Explain exactly WHY this gap was flagged based on the resume vs JD comparison. "
291
- "Example: 'JD requires FastAPI; candidate has Python experience but no record of using FastAPI framework.'"
292
- )
293
- )
294
-
295
- target_competency: str = Field(
296
- ...,
297
- description="The specific outcome the candidate needs to reach (e.g., 'Build asynchronous database endpoints')"
298
- )
299
-
300
- class SkillGapAnalysis(BaseModel):
301
- job_title: str = Field(..., description="The target role from the JD")
302
- candidate_name: Optional[str] = Field(None, description="Extracted name from resume")
303
-
304
- analyzed_gaps: List[SkillGap] = Field(
305
- default_factory=list,
306
- description="List of specific technical gaps found between Resume and JD"
307
- )
308
-
309
- is_fresher_adaptation_needed: bool = Field(
310
- default=False,
311
- description="True if foundational corporate/soft-skill modules should be added to the path."
312
- )
313
-
314
- executive_summary: str = Field(
315
- ...,
316
- description="A 2-3 sentence overview of the candidate's readiness and the primary focus of the onboarding."
317
- )
318
-
319
-
320
-
321
- # Schema for learning_roadmap tool
322
- class RoadmapStep(BaseModel):
323
- course_id: str
324
- title: str
325
- reasoning: str = Field(..., description="Why this specific course was chosen for this user tell in short 10-15 words strictly")
326
- is_foundation: bool
327
- sequence_order: int = Field(..., description="The order in which the course should be taken")
328
-
329
- class LearningRoadmap(BaseModel):
330
- candidate_name: str
331
- target_role: str
332
- roadmap: List[RoadmapStep]
333
- onboarding_summary: str
334
-
335
-
336
-
337
-
338
- # Schema for search_courses tool
339
-
340
- class SearchCourse(BaseModel):
341
- query:str=Field(..., description="The skill to find with semantic terms (e.g., 'FastAPI', 'PostgreSQL', 'Docker','Enterprise VMS Strategy','Utilization Management')")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/schemas/resume_extract_schema.py ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from pydantic import BaseModel, Field
2
+ from typing import List, Optional, Literal
3
+
4
+ class Skill(BaseModel):
5
+ name: str = Field(..., description="Skill name e.g. Python, Docker")
6
+ category: Optional[str] = Field(
7
+ None, description="Category: Backend | ML | DevOps | Frontend | Other"
8
+ )
9
+
10
+
11
+ class ExperienceItem(BaseModel):
12
+ job_title: str = Field(
13
+ ...,
14
+ description="Role title of the candidate. Example: 'Backend Intern', 'Software Engineer'"
15
+ )
16
+
17
+ technologies: Optional[List[str]] = Field(
18
+ default_factory=list,
19
+ description="Technologies, tools, or frameworks used in this role"
20
+ )
21
+
22
+ responsibilities: Optional[List[str]] = Field(
23
+ default_factory=list,
24
+ description="Key responsibilities, tasks, or learnings in concise bullet points keep it summarised detail *not* required"
25
+ )
26
+
27
+ class ProjectItem(BaseModel):
28
+ name: str = Field(..., description="Project name")
29
+ technologies: List[str] = Field(
30
+ default_factory=list,
31
+ description="Technologies used in this project hence learned during the project."
32
+ )
33
+
34
+
35
+
36
+
37
+
38
+
39
+ class ResumeExtract(BaseModel):
40
+
41
+
42
+ candidate_name:Optional[str]
43
+
44
+
45
+ job_title: Optional[str] = Field(
46
+ None,
47
+ description=(
48
+ "Primary job title or role of the candidate. "
49
+ "Examples: 'AI Engineer', 'Data Scientist', "
50
+ "'Construction Project Manager', 'Healthcare Representative'. "
51
+ "Should reflect the most recent or current role."
52
+ )
53
+ )
54
+
55
+
56
+
57
+
58
+ skills: List[Skill] = Field(
59
+ default_factory=list,
60
+ description="Skills explicitly listed by the candidate"
61
+ )
62
+ experience: List[ExperienceItem] = Field(
63
+ default_factory=list,
64
+ description=(
65
+ "Each role as a separate entry. "
66
+ "No company name needed — focus on what was done and learned."
67
+ )
68
+ )
69
+ projects: List[ProjectItem] = Field(
70
+ default_factory=list,
71
+ description="Projects with technologies used and what was built"
72
+ )
73
+
74
+
75
+
76
+ is_fresher: bool = Field(
77
+ ...,
78
+ description=(
79
+ "Set to True if the candidate lacks full-time professional employment. "
80
+ "Academic projects, certifications, and internships are considered "
81
+ "part of the learning phase and do not qualify a candidate as 'non-fresher' hence is_."
82
+ )
83
+ )
app/schemas/roadmap_agent_tools_argschema.py ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from pydantic import BaseModel, Field
2
+ from typing import List, Optional, Literal
3
+
4
+
5
+
6
+
7
+ # Schema for learning_roadmap tool
8
+ class RoadmapStep(BaseModel):
9
+ course_id: str
10
+ title: str
11
+ reasoning: str = Field(..., description="Why this specific course was chosen for this user tell in short 10-15 words strictly")
12
+ is_foundation: bool
13
+ sequence_order: int = Field(..., description="The order in which the course should be taken")
14
+
15
+ class LearningRoadmap(BaseModel):
16
+ candidate_name: str
17
+ target_role: str
18
+ roadmap: List[RoadmapStep]
19
+ onboarding_summary: str
20
+
21
+
22
+
23
+
24
+ # Schema for search_courses tool
25
+
26
+ class SearchCourse(BaseModel):
27
+ query:str=Field(..., description="The skill to find with semantic terms (e.g., 'FastAPI', 'Utilization Management')")
app/schemas/skill_gap_analysis_schema.py ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ from pydantic import BaseModel, Field
3
+ from typing import List, Optional, Literal
4
+
5
+ class SkillGap(BaseModel):
6
+ skill_name: str = Field(
7
+ ...,
8
+ description="The specific technology or tool missing or requiring an upgrade (e.g., 'PostgreSQL')"
9
+ )
10
+
11
+ gap_type: Literal["missing_foundation", "needs_advanced_upgrade"] = Field(
12
+ ...,
13
+ description=(
14
+ "missing_foundation: Candidate has no recorded experience in this core requirement. "
15
+ "needs_advanced_upgrade: Candidate knows the basics but needs role-specific advanced training."
16
+ )
17
+ )
18
+
19
+ priority: Literal["high", "medium", "low"] = Field(
20
+ ...,
21
+ description="How critical this skill is for the target job role."
22
+ )
23
+
24
+ reasoning: str = Field(
25
+ ...,
26
+ description=(
27
+ "The 'Reasoning Trace'. This MUST be provided for every skill gap identified. "
28
+ "Explain exactly WHY this gap was flagged based on the resume vs JD comparison. "
29
+ "Example: 'JD requires FastAPI; candidate has Python experience but no record of using FastAPI framework.'"
30
+ )
31
+ )
32
+
33
+ target_competency: str = Field(
34
+ ...,
35
+ description="The specific outcome the candidate needs to reach (e.g., 'Build asynchronous database endpoints')"
36
+ )
37
+
38
+ class SkillGapAnalysis(BaseModel):
39
+ job_title: str = Field(..., description="The target role from the JD")
40
+ candidate_name: Optional[str] = Field(None, description="Extracted name from resume")
41
+
42
+ analyzed_gaps: List[SkillGap] = Field(
43
+ default_factory=list,
44
+ description="List of specific technical gaps found between Resume and JD"
45
+ )
46
+
47
+ is_fresher_adaptation_needed: bool = Field(
48
+ default=False,
49
+ description="True if foundational corporate/soft-skill modules should be added to the path."
50
+ )
51
+
52
+ executive_summary: str = Field(
53
+ ...,
54
+ description="A 2-3 sentence overview of the candidate's readiness and the primary focus of the onboarding."
55
+ )
app/state/state.py CHANGED
@@ -12,10 +12,9 @@ from typing import List, Optional
12
  from pprint import pprint
13
  from langchain_core.messages import BaseMessage
14
  from langgraph.graph import add_messages
15
- from app.schemas.pydanticschema import ResumeExtract,JobDescriptionExtract,SkillGapAnalysis
16
-
17
-
18
-
19
 
20
 
21
 
 
12
  from pprint import pprint
13
  from langchain_core.messages import BaseMessage
14
  from langgraph.graph import add_messages
15
+ from app.schemas.jd_extract_schema import JobDescriptionExtract
16
+ from app.schemas.resume_extract_schema import ResumeExtract
17
+ from app.schemas.skill_gap_analysis_schema import SkillGapAnalysis
 
18
 
19
 
20
 
app/tools/tools.py CHANGED
@@ -1,24 +1,22 @@
1
  from langchain_core.tools import tool
2
  from typing import Optional
3
- from app.utils.vectordatabase import retriever
4
- from app.schemas.pydanticschema import LearningRoadmap,SearchCourse
5
  import json
6
  from typing import Dict, List,Any
7
  from pathlib import Path
8
- BASE_DIR = Path(__file__).resolve().parent
 
 
 
9
 
 
10
 
11
 
12
- @tool
13
  def search_courses(query: str):
14
  """
15
  Search the course catalog for relevant modules based on a skill query
16
-
17
-
18
- Args:
19
-
20
- query:the skill to find with semantic terms (e.g., 'FastAPI', 'PostgreSQL', 'Docker','Enterprise VMS Strategy','Utilization Management').
21
-
22
  """
23
 
24
  results = retriever.invoke(
@@ -32,8 +30,6 @@ def search_courses(query: str):
32
  for doc in results:
33
  course_id = doc.metadata.get('course_id', 'N/A')
34
 
35
- # We include the ID for roadmap generation, followed by the full context
36
- # created during the transformation stage (Title, Desc, Outcomes, Prereqs).
37
  course_block = (
38
  f"ID: {course_id}\n"
39
  f"{doc.page_content}\n"
@@ -44,15 +40,21 @@ def search_courses(query: str):
44
  return "\n".join(formatted_output)
45
 
46
 
47
-
48
  @tool(args_schema=LearningRoadmap)
49
- def submit_final_roadmap(candidate_name, target_role, roadmap, onboarding_summary):
 
 
 
 
 
 
50
  """
51
  STRICTLY call this tool to submit the final structured learning roadmap.
52
- This saves the data to the global system and the graph state.
53
  """
54
 
55
- result = {
 
56
  "candidate_name": candidate_name,
57
  "target_role": target_role,
58
  "onboarding_summary": onboarding_summary,
@@ -61,76 +63,49 @@ def submit_final_roadmap(candidate_name, target_role, roadmap, onboarding_summar
61
  for step in roadmap
62
  ]
63
  }
64
-
65
-
66
-
67
- # Return to LangGraph (will be stored in state via a post-processing node)
68
- return result
69
 
 
 
 
 
 
 
 
 
 
 
 
 
70
 
71
- @tool(args_schema=SearchCourse)
72
- def submit_mermaid_visualization(mermaid_code: str):
73
- """
74
- STRICTLY call this tool to save the Mermaid.js visualization of the roadmap.
75
- """
76
- # 1. Tell Python to use the variable from the outer scope
77
-
78
-
79
- # 2. Now this assignment updates the global variable
80
- mermaid_roadmap_code = mermaid_code
81
-
82
- return "Mermaid visualization stored successfully."
83
-
84
-
85
-
86
-
87
-
88
- class CourseLookup:
89
- def __init__(self, catalog_path: str = "course_catalog.json"):
90
- self.catalog_path = catalog_path
91
- self.courses_map = {}
92
- self._load_catalog()
93
-
94
- def _load_catalog(self):
95
- """Loads the catalog into a dictionary for O(1) lookup speed."""
96
- try:
97
- with open(self.catalog_path, 'r') as f:
98
- catalog = json.load(f)
99
- # Key the dictionary by course_id for instant retrieval
100
- self.courses_map = {course['course_id']: course for course in catalog}
101
- except FileNotFoundError:
102
- print(f"Error: {self.catalog_path} not found.")
103
- except json.JSONDecodeError:
104
- print(f"Error: Failed to decode {self.catalog_path}.")
105
-
106
- def get_course_details(self, course_id: str) -> Optional[Dict[str, Any]]:
107
- """Retrieves full details of a course by its ID."""
108
- return self.courses_map.get(course_id)
109
-
110
- DATA_PATH = BASE_DIR / "Catalog.json"
111
-
112
- if DATA_PATH.exists():
113
- lookup_service = CourseLookup(DATA_PATH)
114
 
115
- else:
116
- raise FileNotFoundError(f"Catalog file not found: {DATA_PATH}")
117
 
118
-
119
 
120
 
121
  @tool
122
- def get_course_by_id(course_id: str) -> str:
 
 
 
123
  """
124
- Retrieves full details for a specific course using its unique course_id.
125
- Use this tool when you find a prerequisite ID in another course and
126
- need to fetch its title, description, and duration to add to the roadmap.
127
  """
128
- details = lookup_service.get_course_details(course_id)
129
- if not details:
130
- return f"Error: Course with ID {course_id} not found in catalog."
131
 
132
- # Return a clean string for the agent to process
133
- return json.dumps(details, indent=2)
 
 
 
 
 
 
 
 
 
 
 
 
134
 
135
 
136
- roadmap_planner_agent_tools=[search_courses, get_course_by_id,submit_final_roadmap,submit_mermaid_visualization]
 
1
  from langchain_core.tools import tool
2
  from typing import Optional
3
+ from app.vectordatabase.pinecone import retriever
4
+ from app.schemas.roadmap_agent_tools_argschema import LearningRoadmap,SearchCourse
5
  import json
6
  from typing import Dict, List,Any
7
  from pathlib import Path
8
+ from typing import Annotated
9
+ from langchain_core.messages import ToolMessage
10
+ from langgraph.types import Command
11
+ from langchain_core.tools import InjectedToolCallId
12
 
13
+ BASE_DIR = Path(__file__).resolve().parent
14
 
15
 
16
+ @tool(args_schema=SearchCourse)
17
  def search_courses(query: str):
18
  """
19
  Search the course catalog for relevant modules based on a skill query
 
 
 
 
 
 
20
  """
21
 
22
  results = retriever.invoke(
 
30
  for doc in results:
31
  course_id = doc.metadata.get('course_id', 'N/A')
32
 
 
 
33
  course_block = (
34
  f"ID: {course_id}\n"
35
  f"{doc.page_content}\n"
 
40
  return "\n".join(formatted_output)
41
 
42
 
 
43
  @tool(args_schema=LearningRoadmap)
44
+ def submit_final_roadmap(
45
+ candidate_name,
46
+ target_role,
47
+ roadmap,
48
+ onboarding_summary,
49
+ tool_call_id: Annotated[str, InjectedToolCallId] # Injected automatically
50
+ ):
51
  """
52
  STRICTLY call this tool to submit the final structured learning roadmap.
53
+
54
  """
55
 
56
+ # 1. Construct the structured JSON
57
+ result_data = {
58
  "candidate_name": candidate_name,
59
  "target_role": target_role,
60
  "onboarding_summary": onboarding_summary,
 
63
  for step in roadmap
64
  ]
65
  }
 
 
 
 
 
66
 
67
+ # 2. Return Command to update "final_roadmap" in state
68
+ return Command(
69
+ update={
70
+ "final_roadmap": result_data, # This updates your state key
71
+ "messages": [
72
+ ToolMessage(
73
+ content="SUCCESS: Final roadmap has been submitted and saved to state.",
74
+ tool_call_id=tool_call_id
75
+ )
76
+ ]
77
+ }
78
+ )
79
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
80
 
 
 
81
 
 
82
 
83
 
84
  @tool
85
+ def submit_mermaid_visualization(
86
+ mermaid_code: str,
87
+ tool_call_id: Annotated[str, InjectedToolCallId] # Automatically injected by ToolNode
88
+ ):
89
  """
90
+ STRICTLY call this tool to save the Mermaid.js visualization of the roadmap.
 
 
91
  """
92
+ if not mermaid_code:
93
+ return "No Mermaid visualization found."
 
94
 
95
+ # Return Command to update the state key 'mermaid_code'
96
+ return Command(
97
+ update={
98
+ "mermaid_code": mermaid_code, # Updates your graph state
99
+ "messages": [
100
+ ToolMessage(
101
+ content="SUCCESS: Mermaid visualization saved successfully.",
102
+ tool_call_id=tool_call_id
103
+ )
104
+ ]
105
+ }
106
+ )
107
+
108
+
109
 
110
 
111
+ roadmap_planner_agent_tools=[search_courses,submit_final_roadmap,submit_mermaid_visualization]
app/utils/bm25.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:e5ee33742ce995054481aaba1f309536b1b8991754c1a1627743076d64aba478
3
- size 5752
 
 
 
 
app/utils/vectordatabase.py CHANGED
@@ -3,13 +3,11 @@ import pickle
3
  import requests
4
  from pathlib import Path
5
  from typing import List
6
-
7
  from pinecone import Pinecone, ServerlessSpec
8
  from pinecone_text.sparse import BM25Encoder
9
  from langchain_community.retrievers import PineconeHybridSearchRetriever
10
  from langchain_core.documents import Document
11
  from langchain_core.embeddings import Embeddings
12
-
13
  from app.core.config import settings
14
 
15
 
 
3
  import requests
4
  from pathlib import Path
5
  from typing import List
 
6
  from pinecone import Pinecone, ServerlessSpec
7
  from pinecone_text.sparse import BM25Encoder
8
  from langchain_community.retrievers import PineconeHybridSearchRetriever
9
  from langchain_core.documents import Document
10
  from langchain_core.embeddings import Embeddings
 
11
  from app.core.config import settings
12
 
13
 
app/vectordatabase/__init__.py ADDED
File without changes
app/{utils → vectordatabase}/langchain_formatted.json RENAMED
@@ -1,13 +1,10 @@
1
  [
2
  {
3
- "page_content": "Course Title: Network Security & Cryptography\nCategory: Cybersecurity\nDescription: An advanced course covering the mathematical and practical foundations of modern cryptography and network security. Students implement symmetric encryption (AES-GCM), asymmetric encryption (RSA, ECC), digital signatures, and hash functions; configure and troubleshoot TLS 1.3 certificate chains and PKI infrastructure; and use Wireshark to analyze network traffic for protocol anomalies, rogue certificates, and intrusion indicators.\nLearning Outcomes: Implement symmetric and asymmetric encryption, Configure TLS/SSL certificates and PKI chains, Analyze network traffic for anomalies with Wireshark\nPrerequisites: CS-SEC-201",
4
  "metadata": {
5
  "course_id": "CS-SEC-401",
6
  "category": "Cybersecurity",
7
  "level": "advanced",
8
- "prerequisites": [
9
- "CS-SEC-201"
10
- ],
11
  "duration": 12,
12
  "tags": [
13
  "Cryptography",
@@ -19,12 +16,11 @@
19
  }
20
  },
21
  {
22
- "page_content": "Course Title: Docker & Containerization Fundamentals\nCategory: DevOps\nDescription: A practical guide to application containerization using Docker. Students learn to write optimized multi-stage Dockerfiles, manage images and container lifecycles, configure bridge and overlay networking, use named volumes for data persistence, and orchestrate multi-service applications with Docker Compose for local and staging environments.\nLearning Outcomes: Write efficient multi-stage Dockerfiles, Manage container lifecycle and networking, Orchestrate multi-service apps with Docker Compose\nPrerequisites: None",
23
  "metadata": {
24
  "course_id": "CS-DOCKER-101",
25
  "category": "DevOps",
26
  "level": "beginner",
27
- "prerequisites": [],
28
  "duration": 5,
29
  "tags": [
30
  "Docker",
@@ -35,14 +31,11 @@
35
  }
36
  },
37
  {
38
- "page_content": "Course Title: Data Structures & Algorithms\nCategory: Computer Science\nDescription: A rigorous course in core computer science concepts essential for technical interviews and engineering roles. Covers the implementation and analysis of arrays, singly and doubly linked lists, stacks, queues, binary trees, heaps, graphs, and hash tables. Students apply BFS, DFS, dynamic programming, and divide-and-conquer strategies while analyzing time and space complexity using Big-O notation.\nLearning Outcomes: Implement linked lists, stacks, queues from scratch, Traverse trees and graphs with BFS and DFS, Analyze time and space complexity with Big-O\nPrerequisites: CS-PY-101",
39
  "metadata": {
40
  "course_id": "CS-DS-101",
41
  "category": "Computer Science",
42
  "level": "beginner",
43
- "prerequisites": [
44
- "CS-PY-101"
45
- ],
46
  "duration": 10,
47
  "tags": [
48
  "DSA",
@@ -53,14 +46,11 @@
53
  }
54
  },
55
  {
56
- "page_content": "Course Title: CI/CD Pipelines with GitHub Actions\nCategory: DevOps\nDescription: A hands-on course in automating the full software delivery lifecycle using GitHub Actions. Students define multi-job workflows with matrix builds, integrate linting and pytest test suites as required CI checks, automate Docker image builds and pushes to registries, and manage environment secrets and deployment approvals for staging and production environments.\nLearning Outcomes: Create GitHub Actions workflows for CI/CD, Automate Docker image builds and pushes, Manage secrets and environment variables securely\nPrerequisites: CS-DOCKER-101",
57
  "metadata": {
58
  "course_id": "CS-CICD-201",
59
  "category": "DevOps",
60
  "level": "intermediate",
61
- "prerequisites": [
62
- "CS-DOCKER-101"
63
- ],
64
  "duration": 6,
65
  "tags": [
66
  "CI/CD",
@@ -71,14 +61,11 @@
71
  }
72
  },
73
  {
74
- "page_content": "Course Title: Penetration Testing & Ethical Hacking\nCategory: Cybersecurity\nDescription: A hands-on penetration testing course following the industry-standard PTES (Penetration Testing Execution Standard) methodology. Students perform complete engagements covering passive and active reconnaissance with Nmap, Shodan, and theHarvester; vulnerability scanning and exploitation with Metasploit Framework; post-exploitation privilege escalation on Linux and Windows; and produce professional-grade penetration testing reports.\nLearning Outcomes: Conduct network reconnaissance with Nmap and Shodan, Exploit vulnerabilities using Metasploit Framework, Write professional penetration testing reports\nPrerequisites: CS-SEC-201",
75
  "metadata": {
76
  "course_id": "CS-SEC-301",
77
  "category": "Cybersecurity",
78
  "level": "advanced",
79
- "prerequisites": [
80
- "CS-SEC-201"
81
- ],
82
  "duration": 16,
83
  "tags": [
84
  "Penetration Testing",
@@ -89,14 +76,11 @@
89
  }
90
  },
91
  {
92
- "page_content": "Course Title: Machine Learning Fundamentals\nCategory: Machine Learning\nDescription: A practical introduction to machine learning workflows using Python and scikit-learn. Covers the full ML pipeline from data ingestion and preprocessing to feature engineering, model training, hyperparameter tuning with grid search, and evaluation using cross-validation, confusion matrices, and performance metrics for both regression and classification tasks.\nLearning Outcomes: Train and evaluate classification and regression models, Apply cross-validation and hyperparameter tuning, Preprocess and engineer features from raw data\nPrerequisites: CS-PY-101",
93
  "metadata": {
94
  "course_id": "CS-ML-101",
95
  "category": "Machine Learning",
96
  "level": "beginner",
97
- "prerequisites": [
98
- "CS-PY-101"
99
- ],
100
  "duration": 8,
101
  "tags": [
102
  "Machine Learning",
@@ -107,14 +91,11 @@
107
  }
108
  },
109
  {
110
- "page_content": "Course Title: Vector Databases & Semantic Search\nCategory: AI Engineering\nDescription: A practical course on the infrastructure powering modern AI search and retrieval systems. Students generate dense embeddings using OpenAI's API and SentenceTransformers, index and query vectors in Pinecone and Weaviate, implement approximate nearest-neighbor search with HNSW and IVF algorithms, and build end-to-end semantic search applications with relevance re-ranking.\nLearning Outcomes: Generate and store embeddings with OpenAI and SentenceTransformers, Build semantic search with Pinecone and Weaviate, Compare ANN algorithms \u2014 HNSW vs IVF\nPrerequisites: CS-ML-101",
111
  "metadata": {
112
  "course_id": "CS-VEC-101",
113
  "category": "AI Engineering",
114
  "level": "intermediate",
115
- "prerequisites": [
116
- "CS-ML-101"
117
- ],
118
  "duration": 7,
119
  "tags": [
120
  "Vector DB",
@@ -126,14 +107,11 @@
126
  }
127
  },
128
  {
129
- "page_content": "Course Title: React.js \u2014 Component Architecture & State Management\nCategory: Web Development\nDescription: A thorough course in building scalable single-page applications with React. Students design component hierarchies, manage local state with useState and useReducer, share global state using the Context API and Redux Toolkit, optimize renders with useMemo and useCallback, and integrate REST APIs using axios and React Query for server-state synchronization.\nLearning Outcomes: Build reusable components with props and hooks, Manage global state with Context API and Redux, Fetch and display data from REST APIs\nPrerequisites: CS-WEB-101",
130
  "metadata": {
131
  "course_id": "CS-WEB-201",
132
  "category": "Web Development",
133
  "level": "intermediate",
134
- "prerequisites": [
135
- "CS-WEB-101"
136
- ],
137
  "duration": 10,
138
  "tags": [
139
  "React",
@@ -145,12 +123,11 @@
145
  }
146
  },
147
  {
148
- "page_content": "Course Title: HTML, CSS & JavaScript Fundamentals\nCategory: Web Development\nDescription: A comprehensive foundation course for frontend web development. Students master semantic HTML5 document structure, responsive layout techniques using CSS Flexbox and Grid, the CSS Box Model, and vanilla JavaScript for dynamic DOM manipulation, event handling, asynchronous fetch requests, and client-side form validation.\nLearning Outcomes: Build responsive layouts with Flexbox and Grid, Manipulate the DOM with vanilla JavaScript, Handle browser events and form validation\nPrerequisites: None",
149
  "metadata": {
150
  "course_id": "CS-WEB-101",
151
  "category": "Web Development",
152
  "level": "beginner",
153
- "prerequisites": [],
154
  "duration": 8,
155
  "tags": [
156
  "HTML",
@@ -161,14 +138,11 @@
161
  }
162
  },
163
  {
164
- "page_content": "Course Title: Software Testing & Test-Driven Development\nCategory: Software Engineering\nDescription: A practical course on building reliable software through structured testing. Covers unit testing with pytest including fixtures, parameterization, and mocking external dependencies with unittest.mock. Students practice the TDD red-green-refactor cycle, write integration tests for REST APIs using httpx/TestClient, and measure code coverage to identify untested paths.\nLearning Outcomes: Write unit tests with pytest and mock dependencies, Apply TDD red-green-refactor cycle, Measure and improve code coverage\nPrerequisites: CS-PY-101",
165
  "metadata": {
166
  "course_id": "CS-TEST-201",
167
  "category": "Software Engineering",
168
  "level": "intermediate",
169
- "prerequisites": [
170
- "CS-PY-101"
171
- ],
172
  "duration": 6,
173
  "tags": [
174
  "Testing",
@@ -180,14 +154,11 @@
180
  }
181
  },
182
  {
183
- "page_content": "Course Title: LLM Application Development with LangChain\nCategory: AI Engineering\nDescription: A project-focused course on building production LLM applications using the LangChain ecosystem. Students construct multi-step chains with prompt templates and output parsers, build tool-using ReAct agents with LangGraph, implement conversation memory with buffer and summary strategies, and integrate external APIs as agent tools.\nLearning Outcomes: Build multi-step chains with LangChain, Create tool-using agents with LangGraph, Add memory and conversation history to LLM apps\nPrerequisites: CS-PY-201",
184
  "metadata": {
185
  "course_id": "CS-LLM-201",
186
  "category": "AI Engineering",
187
  "level": "intermediate",
188
- "prerequisites": [
189
- "CS-PY-201"
190
- ],
191
  "duration": 8,
192
  "tags": [
193
  "LangChain",
@@ -199,16 +170,11 @@
199
  }
200
  },
201
  {
202
- "page_content": "Course Title: Advanced API Design with FastAPI\nCategory: Backend\nDescription: An advanced course for engineers building high-performance, secure backend services with FastAPI. Students implement full OAuth2 authorization code and client credentials flows, build async database CRUD endpoints using SQLAlchemy 2.0 with asyncpg, design layered dependency injection architectures, create custom middleware for logging and rate limiting, and run Celery background task queues.\nLearning Outcomes: Implement OAuth2 authentication flows, Build async database endpoints with SQLAlchemy, Use dependency injection and middleware patterns\nPrerequisites: CS-PY-101, CS-DB-101, CS-FAST-101",
203
  "metadata": {
204
  "course_id": "CS-FAST-201",
205
  "category": "Backend",
206
  "level": "intermediate",
207
- "prerequisites": [
208
- "CS-PY-101",
209
- "CS-DB-101",
210
- "CS-FAST-101"
211
- ],
212
  "duration": 8,
213
  "tags": [
214
  "FastAPI",
@@ -220,12 +186,11 @@
220
  }
221
  },
222
  {
223
- "page_content": "Course Title: AWS Cloud Fundamentals\nCategory: Cloud\nDescription: An introductory course to the Amazon Web Services ecosystem covering the most critical services for backend and infrastructure engineers. Students deploy compute instances on EC2, manage object storage with S3 and lifecycle policies, configure RDS for managed relational databases, define access control through IAM roles and policies, and build event-driven workflows with AWS Lambda.\nLearning Outcomes: Deploy and configure EC2 instances, Manage storage with S3 and IAM policies, Build serverless functions with AWS Lambda\nPrerequisites: None",
224
  "metadata": {
225
  "course_id": "CS-CLOUD-201",
226
  "category": "Cloud",
227
  "level": "beginner",
228
- "prerequisites": [],
229
  "duration": 8,
230
  "tags": [
231
  "AWS",
@@ -238,15 +203,11 @@
238
  }
239
  },
240
  {
241
- "page_content": "Course Title: Cloud Architecture & Microservices on AWS\nCategory: Cloud\nDescription: A senior-level course on designing and deploying cloud-native, microservices-based architectures on AWS. Students decompose monolithic applications into independently deployable services, implement asynchronous communication using SQS queues and SNS fan-out topics, build and secure public APIs with API Gateway, provision reproducible infrastructure using Terraform, and apply the AWS Well-Architected Framework pillars for reliability and cost optimization.\nLearning Outcomes: Design event-driven microservices with SQS and SNS, Build and deploy APIs with API Gateway, Provision infrastructure using Terraform\nPrerequisites: CS-CLOUD-201, CS-DOCKER-101",
242
  "metadata": {
243
  "course_id": "CS-CLOUD-301",
244
  "category": "Cloud",
245
  "level": "advanced",
246
- "prerequisites": [
247
- "CS-CLOUD-201",
248
- "CS-DOCKER-101"
249
- ],
250
  "duration": 14,
251
  "tags": [
252
  "AWS",
@@ -258,15 +219,11 @@
258
  }
259
  },
260
  {
261
- "page_content": "Course Title: Full Stack Development with Next.js\nCategory: Web Development\nDescription: A production-grade full stack course using Next.js 14 with the App Router. Students implement Server-Side Rendering, Static Site Generation, and Incremental Static Regeneration for optimal performance, build type-safe API routes and server actions, integrate Prisma ORM for database access, configure middleware for authentication with NextAuth.js, and deploy globally optimized applications on Vercel.\nLearning Outcomes: Implement SSR and SSG rendering strategies, Build API routes and middleware in Next.js, Deploy and optimize full stack apps on Vercel\nPrerequisites: CS-WEB-201, CS-FAST-101",
262
  "metadata": {
263
  "course_id": "CS-WEB-301",
264
  "category": "Web Development",
265
  "level": "advanced",
266
- "prerequisites": [
267
- "CS-WEB-201",
268
- "CS-FAST-101"
269
- ],
270
  "duration": 12,
271
  "tags": [
272
  "Next.js",
@@ -278,12 +235,11 @@
278
  }
279
  },
280
  {
281
- "page_content": "Course Title: Git & Version Control for Teams\nCategory: Software Engineering\nDescription: A practical course on collaborative version control using Git. Covers branching strategies including Git Flow and trunk-based development, interactive rebasing, cherry-picking, resolving complex merge conflicts, and establishing pull request review standards that improve team velocity and code quality.\nLearning Outcomes: Apply Git Flow and trunk-based development, Resolve merge conflicts confidently, Write meaningful commit messages and PRs\nPrerequisites: None",
282
  "metadata": {
283
  "course_id": "CS-GIT-101",
284
  "category": "Software Engineering",
285
  "level": "beginner",
286
- "prerequisites": [],
287
  "duration": 3,
288
  "tags": [
289
  "Git",
@@ -294,15 +250,11 @@
294
  }
295
  },
296
  {
297
- "page_content": "Course Title: Kubernetes \u2014 Container Orchestration at Scale\nCategory: DevOps\nDescription: A comprehensive course on running containerized workloads in production with Kubernetes. Students deploy stateless and stateful applications using Deployments and StatefulSets, expose services through ClusterIP, NodePort, and Ingress controllers, manage configuration and secrets with ConfigMaps and Secrets, autoscale workloads with HPA, and package applications for repeatable releases using Helm charts.\nLearning Outcomes: Deploy applications using Deployments and StatefulSets, Configure Services, Ingress, and ConfigMaps, Manage releases with Helm charts\nPrerequisites: CS-DOCKER-101, CS-CICD-201",
298
  "metadata": {
299
  "course_id": "CS-K8S-301",
300
  "category": "DevOps",
301
  "level": "advanced",
302
- "prerequisites": [
303
- "CS-DOCKER-101",
304
- "CS-CICD-201"
305
- ],
306
  "duration": 14,
307
  "tags": [
308
  "Kubernetes",
@@ -314,12 +266,11 @@
314
  }
315
  },
316
  {
317
- "page_content": "Course Title: Python Programming Fundamentals\nCategory: Programming\nDescription: A comprehensive introduction to Python covering primitive and complex data types, control flow structures, function design, object-oriented programming principles, exception handling, and file I/O. Students build a strong syntactic and conceptual foundation before moving to applied domains.\nLearning Outcomes: Write clean Python functions and classes, Understand list, dict, and set operations, Handle exceptions and file I/O\nPrerequisites: None",
318
  "metadata": {
319
  "course_id": "CS-PY-101",
320
  "category": "Programming",
321
  "level": "beginner",
322
- "prerequisites": [],
323
  "duration": 6,
324
  "tags": [
325
  "Python",
@@ -329,15 +280,11 @@
329
  }
330
  },
331
  {
332
- "page_content": "Course Title: LLM Fine-Tuning with LoRA & PEFT\nCategory: AI Engineering\nDescription: An advanced course on adapting pre-trained large language models for domain-specific tasks using parameter-efficient methods. Students curate and format instruction-tuning datasets in Alpaca and ChatML formats, apply Low-Rank Adaptation (LoRA) and Quantized LoRA (QLoRA) using the Hugging Face PEFT and TRL libraries, configure SFTTrainer for supervised fine-tuning, and rigorously evaluate adapted models using ROUGE scores, perplexity, and human preference benchmarks.\nLearning Outcomes: Prepare and format instruction-tuning datasets, Fine-tune LLMs using LoRA with Hugging Face, Evaluate fine-tuned models with ROUGE and perplexity\nPrerequisites: CS-DL-201, CS-LLM-201",
333
  "metadata": {
334
  "course_id": "CS-FINETUNE-301",
335
  "category": "AI Engineering",
336
  "level": "advanced",
337
- "prerequisites": [
338
- "CS-DL-201",
339
- "CS-LLM-201"
340
- ],
341
  "duration": 14,
342
  "tags": [
343
  "Fine-Tuning",
@@ -349,14 +296,11 @@
349
  }
350
  },
351
  {
352
- "page_content": "Course Title: REST API Development with FastAPI\nCategory: Backend\nDescription: A project-driven course for building production-quality REST APIs with Python's FastAPI framework. Students learn to define typed routes with path and query parameters, leverage Pydantic models for automatic request validation and serialization, implement dependency injection, and secure endpoints using JWT-based Bearer token authentication.\nLearning Outcomes: Create REST endpoints with path and query params, Validate request/response with Pydantic models, Implement JWT-based authentication\nPrerequisites: CS-PY-101",
353
  "metadata": {
354
  "course_id": "CS-FAST-101",
355
  "category": "Backend",
356
  "level": "beginner",
357
- "prerequisites": [
358
- "CS-PY-101"
359
- ],
360
  "duration": 6,
361
  "tags": [
362
  "FastAPI",
@@ -367,14 +311,11 @@
367
  }
368
  },
369
  {
370
- "page_content": "Course Title: Deep Learning with PyTorch\nCategory: Machine Learning\nDescription: A rigorous course in deep learning using the PyTorch framework. Students implement feedforward networks, convolutional neural networks for image classification, recurrent architectures for sequence modeling, and learn to write efficient custom training loops with GPU acceleration. Covers batch normalization, dropout regularization, and learning rate scheduling for model optimization.\nLearning Outcomes: Build custom neural networks with nn.Module, Train CNNs on image classification tasks, Optimize models with learning rate schedulers\nPrerequisites: CS-ML-101",
371
  "metadata": {
372
  "course_id": "CS-DL-201",
373
  "category": "Machine Learning",
374
  "level": "intermediate",
375
- "prerequisites": [
376
- "CS-ML-101"
377
- ],
378
  "duration": 12,
379
  "tags": [
380
  "PyTorch",
@@ -386,12 +327,11 @@
386
  }
387
  },
388
  {
389
- "page_content": "Course Title: SQL Fundamentals for Backend Developers\nCategory: Database\nDescription: A hands-on introduction to relational database theory and practice using SQLite and PostgreSQL. Students learn to model data with schemas, enforce referential integrity through primary and foreign keys, and interact with data using full CRUD operations and multi-table JOINs.\nLearning Outcomes: Write basic SELECT queries with filters, Understand Primary and Foreign Keys, Perform data insertion, updates, and deletions\nPrerequisites: None",
390
  "metadata": {
391
  "course_id": "CS-DB-101",
392
  "category": "Database",
393
  "level": "beginner",
394
- "prerequisites": [],
395
  "duration": 4,
396
  "tags": [
397
  "SQL",
@@ -402,15 +342,11 @@
402
  }
403
  },
404
  {
405
- "page_content": "Course Title: Web Application Security & OWASP Top 10\nCategory: Cybersecurity\nDescription: A practical security course structured around the OWASP Top 10 most critical web application risks. Students perform hands-on exploitation of SQL injection, reflected and stored XSS, CSRF, broken access control, and insecure deserialization vulnerabilities in sandboxed environments, then implement the corresponding mitigations in Python and JavaScript web applications.\nLearning Outcomes: Exploit and patch SQL injection vulnerabilities, Prevent XSS and CSRF attacks in web apps, Implement secure authentication and session management\nPrerequisites: CS-SEC-101, CS-WEB-101",
406
  "metadata": {
407
  "course_id": "CS-SEC-201",
408
  "category": "Cybersecurity",
409
  "level": "intermediate",
410
- "prerequisites": [
411
- "CS-SEC-101",
412
- "CS-WEB-101"
413
- ],
414
  "duration": 10,
415
  "tags": [
416
  "OWASP",
@@ -422,14 +358,11 @@
422
  }
423
  },
424
  {
425
- "page_content": "Course Title: NLP with Hugging Face Transformers\nCategory: Machine Learning\nDescription: An applied NLP course using the Hugging Face Transformers library and Datasets ecosystem. Students tokenize and preprocess text corpora, fine-tune pre-trained BERT and RoBERTa models for sequence classification and named entity recognition tasks, apply parameter-efficient techniques, and rigorously evaluate model quality using F1-score, precision, recall, and confusion analysis.\nLearning Outcomes: Tokenize and preprocess text with Hugging Face, Fine-tune BERT for classification and NER tasks, Evaluate NLP models with F1, precision, and recall\nPrerequisites: CS-DL-201",
426
  "metadata": {
427
  "course_id": "CS-NLP-201",
428
  "category": "Machine Learning",
429
  "level": "intermediate",
430
- "prerequisites": [
431
- "CS-DL-201"
432
- ],
433
  "duration": 10,
434
  "tags": [
435
  "NLP",
@@ -441,14 +374,11 @@
441
  }
442
  },
443
  {
444
- "page_content": "Course Title: Advanced SQL \u2014 Indexing, Transactions & Query Optimization\nCategory: Database\nDescription: A deep dive into production-grade SQL performance and reliability. Students master analytical window functions, Common Table Expressions (CTEs), query execution plan analysis using EXPLAIN/ANALYZE, B-tree and partial index strategies, and ACID-compliant transaction management including deadlock detection and prevention.\nLearning Outcomes: Use window functions and CTEs, Analyze and optimize slow queries with EXPLAIN, Manage ACID transactions and deadlock prevention\nPrerequisites: CS-DB-101",
445
  "metadata": {
446
  "course_id": "CS-DB-201",
447
  "category": "Database",
448
  "level": "intermediate",
449
- "prerequisites": [
450
- "CS-DB-101"
451
- ],
452
  "duration": 7,
453
  "tags": [
454
  "SQL",
@@ -459,15 +389,11 @@
459
  }
460
  },
461
  {
462
- "page_content": "Course Title: System Design for Engineers\nCategory: System Design\nDescription: A senior engineer's course on designing large-scale distributed systems with an emphasis on real interview and production scenarios. Students apply horizontal and vertical scaling principles, implement multi-tier caching strategies with Redis and CDN edge networks, design database sharding and replication topologies, analyze trade-offs using the CAP theorem and eventual consistency models, and architect well-known systems including URL shorteners, distributed message queues, and social media feed algorithms.\nLearning Outcomes: Design systems for horizontal and vertical scaling, Apply caching strategies with Redis and CDN, Architect URL shorteners, chat systems, and feed algorithms\nPrerequisites: CS-DB-201, CS-CLOUD-201",
463
  "metadata": {
464
  "course_id": "CS-SYSDESIGN-301",
465
  "category": "System Design",
466
  "level": "advanced",
467
- "prerequisites": [
468
- "CS-DB-201",
469
- "CS-CLOUD-201"
470
- ],
471
  "duration": 12,
472
  "tags": [
473
  "System Design",
@@ -479,14 +405,11 @@
479
  }
480
  },
481
  {
482
- "page_content": "Course Title: NoSQL Databases \u2014 MongoDB & Redis\nCategory: Database\nDescription: Practical training in document and key-value store paradigms for modern applications. Covers MongoDB schema design, flexible document modeling, the aggregation pipeline for complex data transformations, and Redis as both a high-speed caching layer and a pub/sub message broker with TTL-based eviction strategies.\nLearning Outcomes: Design document schemas in MongoDB, Build aggregation pipelines, Implement caching with Redis TTL strategies\nPrerequisites: CS-DB-101",
483
  "metadata": {
484
  "course_id": "CS-DB-301",
485
  "category": "Database",
486
  "level": "intermediate",
487
- "prerequisites": [
488
- "CS-DB-101"
489
- ],
490
  "duration": 6,
491
  "tags": [
492
  "MongoDB",
@@ -497,16 +420,11 @@
497
  }
498
  },
499
  {
500
- "page_content": "Course Title: MLOps \u2014 Model Deployment & Monitoring\nCategory: AI Engineering\nDescription: An end-to-end MLOps course covering the full lifecycle of production machine learning systems. Students track experiments and version datasets and models using MLflow, build model serving APIs with FastAPI, containerize inference services with Docker, set up automated retraining pipelines triggered by data drift detection using Evidently AI, and monitor prediction quality and infrastructure health with Grafana dashboards.\nLearning Outcomes: Track experiments and version models with MLflow, Serve ML models via FastAPI and Docker, Monitor model drift and set up retraining triggers\nPrerequisites: CS-ML-101, CS-DOCKER-101, CS-FAST-101",
501
  "metadata": {
502
  "course_id": "CS-MLOPS-301",
503
  "category": "AI Engineering",
504
  "level": "advanced",
505
- "prerequisites": [
506
- "CS-ML-101",
507
- "CS-DOCKER-101",
508
- "CS-FAST-101"
509
- ],
510
  "duration": 12,
511
  "tags": [
512
  "MLOps",
@@ -518,15 +436,11 @@
518
  }
519
  },
520
  {
521
- "page_content": "Course Title: API Security \u2014 JWT, OAuth2 & Rate Limiting\nCategory: Cybersecurity\nDescription: A specialized course on hardening APIs against modern attack surfaces. Students implement the full OAuth2 authorization code flow with PKCE and the client credentials flow for machine-to-machine authentication, secure JWTs against algorithm confusion, token hijacking, and replay attacks, enforce API key rotation policies, and apply sliding window and token bucket rate limiting strategies using Redis to protect against abuse and DDoS.\nLearning Outcomes: Implement OAuth2 authorization code and client credentials flows, Secure APIs against token hijacking and replay attacks, Apply rate limiting and throttling strategies\nPrerequisites: CS-SEC-201, CS-FAST-101",
522
  "metadata": {
523
  "course_id": "CS-WEBSEC-401",
524
  "category": "Cybersecurity",
525
  "level": "advanced",
526
- "prerequisites": [
527
- "CS-SEC-201",
528
- "CS-FAST-101"
529
- ],
530
  "duration": 8,
531
  "tags": [
532
  "API Security",
@@ -538,12 +452,11 @@
538
  }
539
  },
540
  {
541
- "page_content": "Course Title: Linux & Shell Scripting for Developers\nCategory: DevOps\nDescription: Practical Linux proficiency for software developers working in Unix-like environments. Covers the filesystem hierarchy, file permissions and ownership models, user and group management, process monitoring with ps/top/htop, cron job scheduling, and writing production-ready bash scripts for automation and deployment tasks.\nLearning Outcomes: Navigate and manage the Linux file system, Write bash scripts for automation, Manage processes, cron jobs, and system services\nPrerequisites: None",
542
  "metadata": {
543
  "course_id": "CS-LINUX-101",
544
  "category": "DevOps",
545
  "level": "beginner",
546
- "prerequisites": [],
547
  "duration": 5,
548
  "tags": [
549
  "Linux",
@@ -555,14 +468,11 @@
555
  }
556
  },
557
  {
558
- "page_content": "Course Title: RAG Pipeline Design & Vector Databases\nCategory: AI Engineering\nDescription: A production-focused course on Retrieval-Augmented Generation systems. Students design document ingestion pipelines with chunking strategies (fixed-size, semantic, recursive), generate and store embeddings in Pinecone, implement hybrid retrieval combining dense vector search with BM25 sparse search, apply Cohere re-ranking for precision improvement, and evaluate end-to-end RAG quality using RAGAS metrics.\nLearning Outcomes: Build end-to-end RAG pipelines with Pinecone, Apply hybrid search \u2014 dense + sparse retrieval, Evaluate RAG quality with precision and recall metrics\nPrerequisites: CS-LLM-201",
559
  "metadata": {
560
  "course_id": "CS-RAG-201",
561
  "category": "AI Engineering",
562
  "level": "intermediate",
563
- "prerequisites": [
564
- "CS-LLM-201"
565
- ],
566
  "duration": 10,
567
  "tags": [
568
  "RAG",
@@ -574,14 +484,11 @@
574
  }
575
  },
576
  {
577
- "page_content": "Course Title: Advanced Python \u2014 Async, Decorators & Design Patterns\nCategory: Programming\nDescription: An in-depth exploration of Python internals and professional engineering patterns. Covers the asyncio event loop, coroutine scheduling, context managers, metaclass programming, and the practical application of Gang-of-Four design patterns such as Factory, Singleton, and Observer in real-world codebases.\nLearning Outcomes: Write async/await coroutines, Build custom decorators and context managers, Apply Factory, Singleton, and Observer patterns\nPrerequisites: CS-PY-101",
578
  "metadata": {
579
  "course_id": "CS-PY-201",
580
  "category": "Programming",
581
  "level": "intermediate",
582
- "prerequisites": [
583
- "CS-PY-101"
584
- ],
585
  "duration": 8,
586
  "tags": [
587
  "Python",
@@ -591,12 +498,11 @@
591
  }
592
  },
593
  {
594
- "page_content": "Course Title: Cybersecurity Fundamentals\nCategory: Cybersecurity\nDescription: A foundational survey of cybersecurity principles designed for developers and engineers. Introduces the CIA triad (Confidentiality, Integrity, Availability), threat modeling, common attack vectors including phishing, man-in-the-middle, and denial-of-service attacks, and practical defensive practices such as least-privilege access and patch management.\nLearning Outcomes: Understand confidentiality, integrity, and availability, Identify common threats \u2014 phishing, MITM, DoS, Apply basic security hygiene and password policies\nPrerequisites: None",
595
  "metadata": {
596
  "course_id": "CS-SEC-101",
597
  "category": "Cybersecurity",
598
  "level": "beginner",
599
- "prerequisites": [],
600
  "duration": 5,
601
  "tags": [
602
  "Cybersecurity",
@@ -607,14 +513,11 @@
607
  }
608
  },
609
  {
610
- "page_content": "Course Title: High-Performance Serving with Triton\nCategory: MLOps\nDescription: Using NVIDIA Triton to serve models from multiple frameworks (PyTorch, TensorFlow, ONNX). Covers model ensemble pipelines and dynamic batching for sub-100ms latency.\nLearning Outcomes: Configure Triton Model Repository, Implement dynamic batching for high throughput, Optimize model performance with TensorRT\nPrerequisites: OPS-K8S-101",
611
  "metadata": {
612
  "course_id": "OPS-TRITON-201",
613
  "category": "MLOps",
614
  "level": "advanced",
615
- "prerequisites": [
616
- "OPS-K8S-101"
617
- ],
618
  "duration": 15,
619
  "tags": [
620
  "Triton",
@@ -625,12 +528,11 @@
625
  }
626
  },
627
  {
628
- "page_content": "Course Title: LLM Red Teaming & Guardrails\nCategory: AI Security\nDescription: Deep dive into LLM vulnerabilities. Learn to simulate prompt injections, implement Lakera/NeMo Guardrails, and secure RAG retrieval from data leakage.\nLearning Outcomes: Perform adversarial 'red teaming' on LLM prompts, Implement real-time injection detection layers, Secure vector retrieval pipelines from PII leakage\nPrerequisites: None",
629
  "metadata": {
630
  "course_id": "SEC-LLM-301",
631
  "category": "AI Security",
632
  "level": "advanced",
633
- "prerequisites": [],
634
  "duration": 12,
635
  "tags": [
636
  "Security",
@@ -640,14 +542,11 @@
640
  }
641
  },
642
  {
643
- "page_content": "Course Title: Billion-Scale Vector Ops\nCategory: Data Engineering\nDescription: Scaling beyond managed services. Managing Milvus clusters, fine-tuning HNSW parameters, and partitioning massive datasets for distributed search.\nLearning Outcomes: Architect distributed Milvus clusters, Tune index performance for billion-scale search, Implement complex metadata filtering at scale\nPrerequisites: OPS-K8S-101",
644
  "metadata": {
645
  "course_id": "DTA-MIL-401",
646
  "category": "Data Engineering",
647
  "level": "expert",
648
- "prerequisites": [
649
- "OPS-K8S-101"
650
- ],
651
  "duration": 18,
652
  "tags": [
653
  "Milvus",
@@ -657,12 +556,11 @@
657
  }
658
  },
659
  {
660
- "page_content": "Course Title: Enterprise Health Record Admin\nCategory: Health Informatics\nDescription: Introduction to the administrative side of Epic and Cerner. Covers patient population mapping, digital referral tracking, and cross-departmental data integration.\nLearning Outcomes: Navigate enterprise EHR interfaces, Audit digital clinical documentation for compliance, Manage HIPAA-secure data transfers\nPrerequisites: None",
661
  "metadata": {
662
  "course_id": "HC-EHR-101",
663
  "category": "Health Informatics",
664
  "level": "beginner",
665
- "prerequisites": [],
666
  "duration": 8,
667
  "tags": [
668
  "EHR",
@@ -673,14 +571,11 @@
673
  }
674
  },
675
  {
676
- "page_content": "Course Title: Utilization Management & InterQual\nCategory: Compliance\nDescription: Deep dive into InterQual clinical criteria. Learn how to determine medical necessity for inpatient, observation, and outpatient services to ensure insurance and federal reimbursement.\nLearning Outcomes: Apply InterQual criteria to clinical scenarios, Determine appropriate level of care, Manage clinical appeals and denials\nPrerequisites: HC-EHR-101",
677
  "metadata": {
678
  "course_id": "HC-UM-201",
679
  "category": "Compliance",
680
  "level": "intermediate",
681
- "prerequisites": [
682
- "HC-EHR-101"
683
- ],
684
  "duration": 12,
685
  "tags": [
686
  "InterQual",
@@ -691,12 +586,11 @@
691
  }
692
  },
693
  {
694
- "page_content": "Course Title: Clinical Analytics & Power BI\nCategory: Data Science\nDescription: Converting case notes into data. Learn to build Power BI dashboards that track patient 'Self-Sufficiency' scores, discharge timelines, and program cost-efficiency.\nLearning Outcomes: Connect clinical databases to Power BI, Design interactive patient outcome dashboards, Predict patient readmission risks via data trends\nPrerequisites: None",
695
  "metadata": {
696
  "course_id": "HC-DTA-301",
697
  "category": "Data Science",
698
  "level": "intermediate",
699
- "prerequisites": [],
700
  "duration": 10,
701
  "tags": [
702
  "Power BI",
@@ -707,12 +601,11 @@
707
  }
708
  },
709
  {
710
- "page_content": "Course Title: Mental Health Informatics Foundations\nCategory: Health Informatics\nDescription: The transition from clinical notes to structured data. Learn to manage HIPAA-compliant databases and move from 'observational' reporting to 'analytical' population health tracking.\nLearning Outcomes: Structure clinical counseling data for HIPAA-compliant analysis, Navigate Digital Mental Health Records (DMHR), Interpret large-scale behavioral health datasets\nPrerequisites: None",
711
  "metadata": {
712
  "course_id": "EDU-INF-101",
713
  "category": "Health Informatics",
714
  "level": "beginner",
715
- "prerequisites": [],
716
  "duration": 6,
717
  "tags": [
718
  "Informatics",
@@ -723,14 +616,11 @@
723
  }
724
  },
725
  {
726
- "page_content": "Course Title: AI in Clinical Crisis Detection\nCategory: Clinical AI\nDescription: Utilizing Natural Language Processing (NLP) and sentiment analysis to identify risk markers in counseling logs and digital communications for proactive intervention.\nLearning Outcomes: Understand NLP markers for suicidal ideation and burnout, Configure AI alerts for crisis team activation, Audit AI outputs for clinical accuracy and bias\nPrerequisites: EDU-INF-101",
727
  "metadata": {
728
  "course_id": "EDU-AI-201",
729
  "category": "Clinical AI",
730
  "level": "intermediate",
731
- "prerequisites": [
732
- "EDU-INF-101"
733
- ],
734
  "duration": 12,
735
  "tags": [
736
  "AI",
@@ -741,14 +631,11 @@
741
  }
742
  },
743
  {
744
- "page_content": "Course Title: Digital EAP Ecosystem Management\nCategory: Enterprise Wellness\nDescription: Mastering the administration of platforms like Lyra and Spring Health. Learn to deploy automated triage, manage global provider networks, and track employee wellness ROI.\nLearning Outcomes: Administer enterprise-scale mental health platforms, Set up automated clinical triage workflows, Measure and report on the ROI of digital wellness programs\nPrerequisites: EDU-INF-101",
745
  "metadata": {
746
  "course_id": "EDU-PLAT-301",
747
  "category": "Enterprise Wellness",
748
  "level": "intermediate",
749
- "prerequisites": [
750
- "EDU-INF-101"
751
- ],
752
  "duration": 10,
753
  "tags": [
754
  "EAP",
@@ -759,12 +646,11 @@
759
  }
760
  },
761
  {
762
- "page_content": "Course Title: Kubernetes for AI Workloads\nCategory: MLOps\nDescription: An introduction to K8s specifically for ML engineers. Covers pod orchestration, GPU resource allocation, and scaling FastAPI backends on clusters.\nLearning Outcomes: Deploy ML models as K8s services, Configure GPU-enabled worker nodes, Manage cluster auto-scaling for inference bursts\nPrerequisites: None",
763
  "metadata": {
764
  "course_id": "OPS-K8S-101",
765
  "category": "MLOps",
766
  "level": "intermediate",
767
- "prerequisites": [],
768
  "duration": 10,
769
  "tags": [
770
  "Kubernetes",
@@ -774,14 +660,11 @@
774
  }
775
  },
776
  {
777
- "page_content": "Course Title: High-Performance Serving with Triton\nCategory: MLOps\nDescription: Using NVIDIA Triton to serve models from multiple frameworks (PyTorch, TensorFlow, ONNX). Covers model ensemble pipelines and dynamic batching for sub-100ms latency.\nLearning Outcomes: Configure Triton Model Repository, Implement dynamic batching for high throughput, Optimize model performance with TensorRT\nPrerequisites: OPS-K8S-101",
778
  "metadata": {
779
  "course_id": "OPS-TRITON-201",
780
  "category": "MLOps",
781
  "level": "advanced",
782
- "prerequisites": [
783
- "OPS-K8S-101"
784
- ],
785
  "duration": 15,
786
  "tags": [
787
  "Triton",
@@ -792,12 +675,11 @@
792
  }
793
  },
794
  {
795
- "page_content": "Course Title: LLM Red Teaming & Guardrails\nCategory: AI Security\nDescription: Deep dive into LLM vulnerabilities. Learn to simulate prompt injections, implement Lakera/NeMo Guardrails, and secure RAG retrieval from data leakage.\nLearning Outcomes: Perform adversarial 'red teaming' on LLM prompts, Implement real-time injection detection layers, Secure vector retrieval pipelines from PII leakage\nPrerequisites: None",
796
  "metadata": {
797
  "course_id": "SEC-LLM-301",
798
  "category": "AI Security",
799
  "level": "advanced",
800
- "prerequisites": [],
801
  "duration": 12,
802
  "tags": [
803
  "Security",
@@ -807,14 +689,11 @@
807
  }
808
  },
809
  {
810
- "page_content": "Course Title: Billion-Scale Vector Ops\nCategory: Data Engineering\nDescription: Scaling beyond managed services. Managing Milvus clusters, fine-tuning HNSW parameters, and partitioning massive datasets for distributed search.\nLearning Outcomes: Architect distributed Milvus clusters, Tune index performance for billion-scale search, Implement complex metadata filtering at scale\nPrerequisites: OPS-K8S-101",
811
  "metadata": {
812
  "course_id": "DTA-MIL-401",
813
  "category": "Data Engineering",
814
  "level": "expert",
815
- "prerequisites": [
816
- "OPS-K8S-101"
817
- ],
818
  "duration": 18,
819
  "tags": [
820
  "Milvus",
@@ -824,12 +703,11 @@
824
  }
825
  },
826
  {
827
- "page_content": "Course Title: Data Fundamentals for Talent Ops\nCategory: Workforce Analytics\nDescription: Foundational course on HR metrics and data hygiene. Learn to structure talent data for analysis and move beyond simple spreadsheets.\nLearning Outcomes: Define key workforce KPIs, Structure unstructured talent data for reporting, Basics of data-driven decision making in recruitment\nPrerequisites: None",
828
  "metadata": {
829
  "course_id": "BUS-DATA-101",
830
  "category": "Workforce Analytics",
831
  "level": "beginner",
832
- "prerequisites": [],
833
  "duration": 5,
834
  "tags": [
835
  "Data",
@@ -839,14 +717,11 @@
839
  }
840
  },
841
  {
842
- "page_content": "Course Title: SQL for Workforce Analytics\nCategory: Data Science\nDescription: Learn to query internal talent databases. Covers JOINs, aggregations, and subqueries to find hiring trends and predict churn.\nLearning Outcomes: Write SQL queries to extract talent metrics, Analyze historical hiring data for trends, Build basic labor supply reports\nPrerequisites: BUS-DATA-101",
843
  "metadata": {
844
  "course_id": "BUS-SQL-201",
845
  "category": "Data Science",
846
  "level": "intermediate",
847
- "prerequisites": [
848
- "BUS-DATA-101"
849
- ],
850
  "duration": 12,
851
  "tags": [
852
  "SQL",
@@ -856,14 +731,11 @@
856
  }
857
  },
858
  {
859
- "page_content": "Course Title: Mastering AI Talent Platforms\nCategory: Recruitment Tech\nDescription: Deep dive into Eightfold.ai and SeekOut. Learn to use deep-learning matching, skill-adjacency analysis, and automated sourcing bots.\nLearning Outcomes: Configure AI matching filters, Analyze talent pools for skill gaps using AI, Manage automated sourcing workflows\nPrerequisites: BUS-DATA-101",
860
  "metadata": {
861
  "course_id": "BUS-AI-301",
862
  "category": "Recruitment Tech",
863
  "level": "advanced",
864
- "prerequisites": [
865
- "BUS-DATA-101"
866
- ],
867
  "duration": 10,
868
  "tags": [
869
  "AI",
@@ -873,12 +745,11 @@
873
  }
874
  },
875
  {
876
- "page_content": "Course Title: Enterprise VMS Strategy\nCategory: Logistics\nDescription: Managing contingent labor at scale using SAP Fieldglass. Covers vendor optimization, bill-rate management, and compliance audits.\nLearning Outcomes: Navigate SAP Fieldglass VMS, Optimize bill-rates across global vendors, Manage contingent workforce compliance\nPrerequisites: None",
877
  "metadata": {
878
  "course_id": "BUS-VMS-401",
879
  "category": "Logistics",
880
  "level": "intermediate",
881
- "prerequisites": [],
882
  "duration": 8,
883
  "tags": [
884
  "VMS",
 
1
  [
2
  {
3
+ "page_content": "Course Title: Network Security & Cryptography\nCategory: Cybersecurity\nDescription: An advanced course covering the mathematical and practical foundations of modern cryptography and network security. Students implement symmetric encryption (AES-GCM), asymmetric encryption (RSA, ECC), digital signatures, and hash functions; configure and troubleshoot TLS 1.3 certificate chains and PKI infrastructure; and use Wireshark to analyze network traffic for protocol anomalies, rogue certificates, and intrusion indicators.\nLearning Outcomes: Implement symmetric and asymmetric encryption, Configure TLS/SSL certificates and PKI chains, Analyze network traffic for anomalies with Wireshark",
4
  "metadata": {
5
  "course_id": "CS-SEC-401",
6
  "category": "Cybersecurity",
7
  "level": "advanced",
 
 
 
8
  "duration": 12,
9
  "tags": [
10
  "Cryptography",
 
16
  }
17
  },
18
  {
19
+ "page_content": "Course Title: Docker & Containerization Fundamentals\nCategory: DevOps\nDescription: A practical guide to application containerization using Docker. Students learn to write optimized multi-stage Dockerfiles, manage images and container lifecycles, configure bridge and overlay networking, use named volumes for data persistence, and orchestrate multi-service applications with Docker Compose for local and staging environments.\nLearning Outcomes: Write efficient multi-stage Dockerfiles, Manage container lifecycle and networking, Orchestrate multi-service apps with Docker Compose",
20
  "metadata": {
21
  "course_id": "CS-DOCKER-101",
22
  "category": "DevOps",
23
  "level": "beginner",
 
24
  "duration": 5,
25
  "tags": [
26
  "Docker",
 
31
  }
32
  },
33
  {
34
+ "page_content": "Course Title: Data Structures & Algorithms\nCategory: Computer Science\nDescription: A rigorous course in core computer science concepts essential for technical interviews and engineering roles. Covers the implementation and analysis of arrays, singly and doubly linked lists, stacks, queues, binary trees, heaps, graphs, and hash tables. Students apply BFS, DFS, dynamic programming, and divide-and-conquer strategies while analyzing time and space complexity using Big-O notation.\nLearning Outcomes: Implement linked lists, stacks, queues from scratch, Traverse trees and graphs with BFS and DFS, Analyze time and space complexity with Big-O",
35
  "metadata": {
36
  "course_id": "CS-DS-101",
37
  "category": "Computer Science",
38
  "level": "beginner",
 
 
 
39
  "duration": 10,
40
  "tags": [
41
  "DSA",
 
46
  }
47
  },
48
  {
49
+ "page_content": "Course Title: CI/CD Pipelines with GitHub Actions\nCategory: DevOps\nDescription: A hands-on course in automating the full software delivery lifecycle using GitHub Actions. Students define multi-job workflows with matrix builds, integrate linting and pytest test suites as required CI checks, automate Docker image builds and pushes to registries, and manage environment secrets and deployment approvals for staging and production environments.\nLearning Outcomes: Create GitHub Actions workflows for CI/CD, Automate Docker image builds and pushes, Manage secrets and environment variables securely",
50
  "metadata": {
51
  "course_id": "CS-CICD-201",
52
  "category": "DevOps",
53
  "level": "intermediate",
 
 
 
54
  "duration": 6,
55
  "tags": [
56
  "CI/CD",
 
61
  }
62
  },
63
  {
64
+ "page_content": "Course Title: Penetration Testing & Ethical Hacking\nCategory: Cybersecurity\nDescription: A hands-on penetration testing course following the industry-standard PTES (Penetration Testing Execution Standard) methodology. Students perform complete engagements covering passive and active reconnaissance with Nmap, Shodan, and theHarvester; vulnerability scanning and exploitation with Metasploit Framework; post-exploitation privilege escalation on Linux and Windows; and produce professional-grade penetration testing reports.\nLearning Outcomes: Conduct network reconnaissance with Nmap and Shodan, Exploit vulnerabilities using Metasploit Framework, Write professional penetration testing reports",
65
  "metadata": {
66
  "course_id": "CS-SEC-301",
67
  "category": "Cybersecurity",
68
  "level": "advanced",
 
 
 
69
  "duration": 16,
70
  "tags": [
71
  "Penetration Testing",
 
76
  }
77
  },
78
  {
79
+ "page_content": "Course Title: Machine Learning Fundamentals\nCategory: Machine Learning\nDescription: A practical introduction to machine learning workflows using Python and scikit-learn. Covers the full ML pipeline from data ingestion and preprocessing to feature engineering, model training, hyperparameter tuning with grid search, and evaluation using cross-validation, confusion matrices, and performance metrics for both regression and classification tasks.\nLearning Outcomes: Train and evaluate classification and regression models, Apply cross-validation and hyperparameter tuning, Preprocess and engineer features from raw data",
80
  "metadata": {
81
  "course_id": "CS-ML-101",
82
  "category": "Machine Learning",
83
  "level": "beginner",
 
 
 
84
  "duration": 8,
85
  "tags": [
86
  "Machine Learning",
 
91
  }
92
  },
93
  {
94
+ "page_content": "Course Title: Vector Databases & Semantic Search\nCategory: AI Engineering\nDescription: A practical course on the infrastructure powering modern AI search and retrieval systems. Students generate dense embeddings using OpenAI's API and SentenceTransformers, index and query vectors in Pinecone and Weaviate, implement approximate nearest-neighbor search with HNSW and IVF algorithms, and build end-to-end semantic search applications with relevance re-ranking.\nLearning Outcomes: Generate and store embeddings with OpenAI and SentenceTransformers, Build semantic search with Pinecone and Weaviate, Compare ANN algorithms HNSW vs IVF",
95
  "metadata": {
96
  "course_id": "CS-VEC-101",
97
  "category": "AI Engineering",
98
  "level": "intermediate",
 
 
 
99
  "duration": 7,
100
  "tags": [
101
  "Vector DB",
 
107
  }
108
  },
109
  {
110
+ "page_content": "Course Title: React.js Component Architecture & State Management\nCategory: Web Development\nDescription: A thorough course in building scalable single-page applications with React. Students design component hierarchies, manage local state with useState and useReducer, share global state using the Context API and Redux Toolkit, optimize renders with useMemo and useCallback, and integrate REST APIs using axios and React Query for server-state synchronization.\nLearning Outcomes: Build reusable components with props and hooks, Manage global state with Context API and Redux, Fetch and display data from REST APIs",
111
  "metadata": {
112
  "course_id": "CS-WEB-201",
113
  "category": "Web Development",
114
  "level": "intermediate",
 
 
 
115
  "duration": 10,
116
  "tags": [
117
  "React",
 
123
  }
124
  },
125
  {
126
+ "page_content": "Course Title: HTML, CSS & JavaScript Fundamentals\nCategory: Web Development\nDescription: A comprehensive foundation course for frontend web development. Students master semantic HTML5 document structure, responsive layout techniques using CSS Flexbox and Grid, the CSS Box Model, and vanilla JavaScript for dynamic DOM manipulation, event handling, asynchronous fetch requests, and client-side form validation.\nLearning Outcomes: Build responsive layouts with Flexbox and Grid, Manipulate the DOM with vanilla JavaScript, Handle browser events and form validation",
127
  "metadata": {
128
  "course_id": "CS-WEB-101",
129
  "category": "Web Development",
130
  "level": "beginner",
 
131
  "duration": 8,
132
  "tags": [
133
  "HTML",
 
138
  }
139
  },
140
  {
141
+ "page_content": "Course Title: Software Testing & Test-Driven Development\nCategory: Software Engineering\nDescription: A practical course on building reliable software through structured testing. Covers unit testing with pytest including fixtures, parameterization, and mocking external dependencies with unittest.mock. Students practice the TDD red-green-refactor cycle, write integration tests for REST APIs using httpx/TestClient, and measure code coverage to identify untested paths.\nLearning Outcomes: Write unit tests with pytest and mock dependencies, Apply TDD red-green-refactor cycle, Measure and improve code coverage",
142
  "metadata": {
143
  "course_id": "CS-TEST-201",
144
  "category": "Software Engineering",
145
  "level": "intermediate",
 
 
 
146
  "duration": 6,
147
  "tags": [
148
  "Testing",
 
154
  }
155
  },
156
  {
157
+ "page_content": "Course Title: LLM Application Development with LangChain\nCategory: AI Engineering\nDescription: A project-focused course on building production LLM applications using the LangChain ecosystem. Students construct multi-step chains with prompt templates and output parsers, build tool-using ReAct agents with LangGraph, implement conversation memory with buffer and summary strategies, and integrate external APIs as agent tools.\nLearning Outcomes: Build multi-step chains with LangChain, Create tool-using agents with LangGraph, Add memory and conversation history to LLM apps",
158
  "metadata": {
159
  "course_id": "CS-LLM-201",
160
  "category": "AI Engineering",
161
  "level": "intermediate",
 
 
 
162
  "duration": 8,
163
  "tags": [
164
  "LangChain",
 
170
  }
171
  },
172
  {
173
+ "page_content": "Course Title: Advanced API Design with FastAPI\nCategory: Backend\nDescription: An advanced course for engineers building high-performance, secure backend services with FastAPI. Students implement full OAuth2 authorization code and client credentials flows, build async database CRUD endpoints using SQLAlchemy 2.0 with asyncpg, design layered dependency injection architectures, create custom middleware for logging and rate limiting, and run Celery background task queues.\nLearning Outcomes: Implement OAuth2 authentication flows, Build async database endpoints with SQLAlchemy, Use dependency injection and middleware patterns",
174
  "metadata": {
175
  "course_id": "CS-FAST-201",
176
  "category": "Backend",
177
  "level": "intermediate",
 
 
 
 
 
178
  "duration": 8,
179
  "tags": [
180
  "FastAPI",
 
186
  }
187
  },
188
  {
189
+ "page_content": "Course Title: AWS Cloud Fundamentals\nCategory: Cloud\nDescription: An introductory course to the Amazon Web Services ecosystem covering the most critical services for backend and infrastructure engineers. Students deploy compute instances on EC2, manage object storage with S3 and lifecycle policies, configure RDS for managed relational databases, define access control through IAM roles and policies, and build event-driven workflows with AWS Lambda.\nLearning Outcomes: Deploy and configure EC2 instances, Manage storage with S3 and IAM policies, Build serverless functions with AWS Lambda",
190
  "metadata": {
191
  "course_id": "CS-CLOUD-201",
192
  "category": "Cloud",
193
  "level": "beginner",
 
194
  "duration": 8,
195
  "tags": [
196
  "AWS",
 
203
  }
204
  },
205
  {
206
+ "page_content": "Course Title: Cloud Architecture & Microservices on AWS\nCategory: Cloud\nDescription: A senior-level course on designing and deploying cloud-native, microservices-based architectures on AWS. Students decompose monolithic applications into independently deployable services, implement asynchronous communication using SQS queues and SNS fan-out topics, build and secure public APIs with API Gateway, provision reproducible infrastructure using Terraform, and apply the AWS Well-Architected Framework pillars for reliability and cost optimization.\nLearning Outcomes: Design event-driven microservices with SQS and SNS, Build and deploy APIs with API Gateway, Provision infrastructure using Terraform",
207
  "metadata": {
208
  "course_id": "CS-CLOUD-301",
209
  "category": "Cloud",
210
  "level": "advanced",
 
 
 
 
211
  "duration": 14,
212
  "tags": [
213
  "AWS",
 
219
  }
220
  },
221
  {
222
+ "page_content": "Course Title: Full Stack Development with Next.js\nCategory: Web Development\nDescription: A production-grade full stack course using Next.js 14 with the App Router. Students implement Server-Side Rendering, Static Site Generation, and Incremental Static Regeneration for optimal performance, build type-safe API routes and server actions, integrate Prisma ORM for database access, configure middleware for authentication with NextAuth.js, and deploy globally optimized applications on Vercel.\nLearning Outcomes: Implement SSR and SSG rendering strategies, Build API routes and middleware in Next.js, Deploy and optimize full stack apps on Vercel",
223
  "metadata": {
224
  "course_id": "CS-WEB-301",
225
  "category": "Web Development",
226
  "level": "advanced",
 
 
 
 
227
  "duration": 12,
228
  "tags": [
229
  "Next.js",
 
235
  }
236
  },
237
  {
238
+ "page_content": "Course Title: Git & Version Control for Teams\nCategory: Software Engineering\nDescription: A practical course on collaborative version control using Git. Covers branching strategies including Git Flow and trunk-based development, interactive rebasing, cherry-picking, resolving complex merge conflicts, and establishing pull request review standards that improve team velocity and code quality.\nLearning Outcomes: Apply Git Flow and trunk-based development, Resolve merge conflicts confidently, Write meaningful commit messages and PRs",
239
  "metadata": {
240
  "course_id": "CS-GIT-101",
241
  "category": "Software Engineering",
242
  "level": "beginner",
 
243
  "duration": 3,
244
  "tags": [
245
  "Git",
 
250
  }
251
  },
252
  {
253
+ "page_content": "Course Title: Kubernetes Container Orchestration at Scale\nCategory: DevOps\nDescription: A comprehensive course on running containerized workloads in production with Kubernetes. Students deploy stateless and stateful applications using Deployments and StatefulSets, expose services through ClusterIP, NodePort, and Ingress controllers, manage configuration and secrets with ConfigMaps and Secrets, autoscale workloads with HPA, and package applications for repeatable releases using Helm charts.\nLearning Outcomes: Deploy applications using Deployments and StatefulSets, Configure Services, Ingress, and ConfigMaps, Manage releases with Helm charts",
254
  "metadata": {
255
  "course_id": "CS-K8S-301",
256
  "category": "DevOps",
257
  "level": "advanced",
 
 
 
 
258
  "duration": 14,
259
  "tags": [
260
  "Kubernetes",
 
266
  }
267
  },
268
  {
269
+ "page_content": "Course Title: Python Programming Fundamentals\nCategory: Programming\nDescription: A comprehensive introduction to Python covering primitive and complex data types, control flow structures, function design, object-oriented programming principles, exception handling, and file I/O. Students build a strong syntactic and conceptual foundation before moving to applied domains.\nLearning Outcomes: Write clean Python functions and classes, Understand list, dict, and set operations, Handle exceptions and file I/O",
270
  "metadata": {
271
  "course_id": "CS-PY-101",
272
  "category": "Programming",
273
  "level": "beginner",
 
274
  "duration": 6,
275
  "tags": [
276
  "Python",
 
280
  }
281
  },
282
  {
283
+ "page_content": "Course Title: LLM Fine-Tuning with LoRA & PEFT\nCategory: AI Engineering\nDescription: An advanced course on adapting pre-trained large language models for domain-specific tasks using parameter-efficient methods. Students curate and format instruction-tuning datasets in Alpaca and ChatML formats, apply Low-Rank Adaptation (LoRA) and Quantized LoRA (QLoRA) using the Hugging Face PEFT and TRL libraries, configure SFTTrainer for supervised fine-tuning, and rigorously evaluate adapted models using ROUGE scores, perplexity, and human preference benchmarks.\nLearning Outcomes: Prepare and format instruction-tuning datasets, Fine-tune LLMs using LoRA with Hugging Face, Evaluate fine-tuned models with ROUGE and perplexity",
284
  "metadata": {
285
  "course_id": "CS-FINETUNE-301",
286
  "category": "AI Engineering",
287
  "level": "advanced",
 
 
 
 
288
  "duration": 14,
289
  "tags": [
290
  "Fine-Tuning",
 
296
  }
297
  },
298
  {
299
+ "page_content": "Course Title: REST API Development with FastAPI\nCategory: Backend\nDescription: A project-driven course for building production-quality REST APIs with Python's FastAPI framework. Students learn to define typed routes with path and query parameters, leverage Pydantic models for automatic request validation and serialization, implement dependency injection, and secure endpoints using JWT-based Bearer token authentication.\nLearning Outcomes: Create REST endpoints with path and query params, Validate request/response with Pydantic models, Implement JWT-based authentication",
300
  "metadata": {
301
  "course_id": "CS-FAST-101",
302
  "category": "Backend",
303
  "level": "beginner",
 
 
 
304
  "duration": 6,
305
  "tags": [
306
  "FastAPI",
 
311
  }
312
  },
313
  {
314
+ "page_content": "Course Title: Deep Learning with PyTorch\nCategory: Machine Learning\nDescription: A rigorous course in deep learning using the PyTorch framework. Students implement feedforward networks, convolutional neural networks for image classification, recurrent architectures for sequence modeling, and learn to write efficient custom training loops with GPU acceleration. Covers batch normalization, dropout regularization, and learning rate scheduling for model optimization.\nLearning Outcomes: Build custom neural networks with nn.Module, Train CNNs on image classification tasks, Optimize models with learning rate schedulers",
315
  "metadata": {
316
  "course_id": "CS-DL-201",
317
  "category": "Machine Learning",
318
  "level": "intermediate",
 
 
 
319
  "duration": 12,
320
  "tags": [
321
  "PyTorch",
 
327
  }
328
  },
329
  {
330
+ "page_content": "Course Title: SQL Fundamentals for Backend Developers\nCategory: Database\nDescription: A hands-on introduction to relational database theory and practice using SQLite and PostgreSQL. Students learn to model data with schemas, enforce referential integrity through primary and foreign keys, and interact with data using full CRUD operations and multi-table JOINs.\nLearning Outcomes: Write basic SELECT queries with filters, Understand Primary and Foreign Keys, Perform data insertion, updates, and deletions",
331
  "metadata": {
332
  "course_id": "CS-DB-101",
333
  "category": "Database",
334
  "level": "beginner",
 
335
  "duration": 4,
336
  "tags": [
337
  "SQL",
 
342
  }
343
  },
344
  {
345
+ "page_content": "Course Title: Web Application Security & OWASP Top 10\nCategory: Cybersecurity\nDescription: A practical security course structured around the OWASP Top 10 most critical web application risks. Students perform hands-on exploitation of SQL injection, reflected and stored XSS, CSRF, broken access control, and insecure deserialization vulnerabilities in sandboxed environments, then implement the corresponding mitigations in Python and JavaScript web applications.\nLearning Outcomes: Exploit and patch SQL injection vulnerabilities, Prevent XSS and CSRF attacks in web apps, Implement secure authentication and session management",
346
  "metadata": {
347
  "course_id": "CS-SEC-201",
348
  "category": "Cybersecurity",
349
  "level": "intermediate",
 
 
 
 
350
  "duration": 10,
351
  "tags": [
352
  "OWASP",
 
358
  }
359
  },
360
  {
361
+ "page_content": "Course Title: NLP with Hugging Face Transformers\nCategory: Machine Learning\nDescription: An applied NLP course using the Hugging Face Transformers library and Datasets ecosystem. Students tokenize and preprocess text corpora, fine-tune pre-trained BERT and RoBERTa models for sequence classification and named entity recognition tasks, apply parameter-efficient techniques, and rigorously evaluate model quality using F1-score, precision, recall, and confusion analysis.\nLearning Outcomes: Tokenize and preprocess text with Hugging Face, Fine-tune BERT for classification and NER tasks, Evaluate NLP models with F1, precision, and recall",
362
  "metadata": {
363
  "course_id": "CS-NLP-201",
364
  "category": "Machine Learning",
365
  "level": "intermediate",
 
 
 
366
  "duration": 10,
367
  "tags": [
368
  "NLP",
 
374
  }
375
  },
376
  {
377
+ "page_content": "Course Title: Advanced SQL Indexing, Transactions & Query Optimization\nCategory: Database\nDescription: A deep dive into production-grade SQL performance and reliability. Students master analytical window functions, Common Table Expressions (CTEs), query execution plan analysis using EXPLAIN/ANALYZE, B-tree and partial index strategies, and ACID-compliant transaction management including deadlock detection and prevention.\nLearning Outcomes: Use window functions and CTEs, Analyze and optimize slow queries with EXPLAIN, Manage ACID transactions and deadlock prevention",
378
  "metadata": {
379
  "course_id": "CS-DB-201",
380
  "category": "Database",
381
  "level": "intermediate",
 
 
 
382
  "duration": 7,
383
  "tags": [
384
  "SQL",
 
389
  }
390
  },
391
  {
392
+ "page_content": "Course Title: System Design for Engineers\nCategory: System Design\nDescription: A senior engineer's course on designing large-scale distributed systems with an emphasis on real interview and production scenarios. Students apply horizontal and vertical scaling principles, implement multi-tier caching strategies with Redis and CDN edge networks, design database sharding and replication topologies, analyze trade-offs using the CAP theorem and eventual consistency models, and architect well-known systems including URL shorteners, distributed message queues, and social media feed algorithms.\nLearning Outcomes: Design systems for horizontal and vertical scaling, Apply caching strategies with Redis and CDN, Architect URL shorteners, chat systems, and feed algorithms",
393
  "metadata": {
394
  "course_id": "CS-SYSDESIGN-301",
395
  "category": "System Design",
396
  "level": "advanced",
 
 
 
 
397
  "duration": 12,
398
  "tags": [
399
  "System Design",
 
405
  }
406
  },
407
  {
408
+ "page_content": "Course Title: NoSQL Databases MongoDB & Redis\nCategory: Database\nDescription: Practical training in document and key-value store paradigms for modern applications. Covers MongoDB schema design, flexible document modeling, the aggregation pipeline for complex data transformations, and Redis as both a high-speed caching layer and a pub/sub message broker with TTL-based eviction strategies.\nLearning Outcomes: Design document schemas in MongoDB, Build aggregation pipelines, Implement caching with Redis TTL strategies",
409
  "metadata": {
410
  "course_id": "CS-DB-301",
411
  "category": "Database",
412
  "level": "intermediate",
 
 
 
413
  "duration": 6,
414
  "tags": [
415
  "MongoDB",
 
420
  }
421
  },
422
  {
423
+ "page_content": "Course Title: MLOps Model Deployment & Monitoring\nCategory: AI Engineering\nDescription: An end-to-end MLOps course covering the full lifecycle of production machine learning systems. Students track experiments and version datasets and models using MLflow, build model serving APIs with FastAPI, containerize inference services with Docker, set up automated retraining pipelines triggered by data drift detection using Evidently AI, and monitor prediction quality and infrastructure health with Grafana dashboards.\nLearning Outcomes: Track experiments and version models with MLflow, Serve ML models via FastAPI and Docker, Monitor model drift and set up retraining triggers",
424
  "metadata": {
425
  "course_id": "CS-MLOPS-301",
426
  "category": "AI Engineering",
427
  "level": "advanced",
 
 
 
 
 
428
  "duration": 12,
429
  "tags": [
430
  "MLOps",
 
436
  }
437
  },
438
  {
439
+ "page_content": "Course Title: API Security JWT, OAuth2 & Rate Limiting\nCategory: Cybersecurity\nDescription: A specialized course on hardening APIs against modern attack surfaces. Students implement the full OAuth2 authorization code flow with PKCE and the client credentials flow for machine-to-machine authentication, secure JWTs against algorithm confusion, token hijacking, and replay attacks, enforce API key rotation policies, and apply sliding window and token bucket rate limiting strategies using Redis to protect against abuse and DDoS.\nLearning Outcomes: Implement OAuth2 authorization code and client credentials flows, Secure APIs against token hijacking and replay attacks, Apply rate limiting and throttling strategies",
440
  "metadata": {
441
  "course_id": "CS-WEBSEC-401",
442
  "category": "Cybersecurity",
443
  "level": "advanced",
 
 
 
 
444
  "duration": 8,
445
  "tags": [
446
  "API Security",
 
452
  }
453
  },
454
  {
455
+ "page_content": "Course Title: Linux & Shell Scripting for Developers\nCategory: DevOps\nDescription: Practical Linux proficiency for software developers working in Unix-like environments. Covers the filesystem hierarchy, file permissions and ownership models, user and group management, process monitoring with ps/top/htop, cron job scheduling, and writing production-ready bash scripts for automation and deployment tasks.\nLearning Outcomes: Navigate and manage the Linux file system, Write bash scripts for automation, Manage processes, cron jobs, and system services",
456
  "metadata": {
457
  "course_id": "CS-LINUX-101",
458
  "category": "DevOps",
459
  "level": "beginner",
 
460
  "duration": 5,
461
  "tags": [
462
  "Linux",
 
468
  }
469
  },
470
  {
471
+ "page_content": "Course Title: RAG Pipeline Design & Vector Databases\nCategory: AI Engineering\nDescription: A production-focused course on Retrieval-Augmented Generation systems. Students design document ingestion pipelines with chunking strategies (fixed-size, semantic, recursive), generate and store embeddings in Pinecone, implement hybrid retrieval combining dense vector search with BM25 sparse search, apply Cohere re-ranking for precision improvement, and evaluate end-to-end RAG quality using RAGAS metrics.\nLearning Outcomes: Build end-to-end RAG pipelines with Pinecone, Apply hybrid search dense + sparse retrieval, Evaluate RAG quality with precision and recall metrics",
472
  "metadata": {
473
  "course_id": "CS-RAG-201",
474
  "category": "AI Engineering",
475
  "level": "intermediate",
 
 
 
476
  "duration": 10,
477
  "tags": [
478
  "RAG",
 
484
  }
485
  },
486
  {
487
+ "page_content": "Course Title: Advanced Python Async, Decorators & Design Patterns\nCategory: Programming\nDescription: An in-depth exploration of Python internals and professional engineering patterns. Covers the asyncio event loop, coroutine scheduling, context managers, metaclass programming, and the practical application of Gang-of-Four design patterns such as Factory, Singleton, and Observer in real-world codebases.\nLearning Outcomes: Write async/await coroutines, Build custom decorators and context managers, Apply Factory, Singleton, and Observer patterns",
488
  "metadata": {
489
  "course_id": "CS-PY-201",
490
  "category": "Programming",
491
  "level": "intermediate",
 
 
 
492
  "duration": 8,
493
  "tags": [
494
  "Python",
 
498
  }
499
  },
500
  {
501
+ "page_content": "Course Title: Cybersecurity Fundamentals\nCategory: Cybersecurity\nDescription: A foundational survey of cybersecurity principles designed for developers and engineers. Introduces the CIA triad (Confidentiality, Integrity, Availability), threat modeling, common attack vectors including phishing, man-in-the-middle, and denial-of-service attacks, and practical defensive practices such as least-privilege access and patch management.\nLearning Outcomes: Understand confidentiality, integrity, and availability, Identify common threats phishing, MITM, DoS, Apply basic security hygiene and password policies",
502
  "metadata": {
503
  "course_id": "CS-SEC-101",
504
  "category": "Cybersecurity",
505
  "level": "beginner",
 
506
  "duration": 5,
507
  "tags": [
508
  "Cybersecurity",
 
513
  }
514
  },
515
  {
516
+ "page_content": "Course Title: High-Performance Serving with Triton\nCategory: MLOps\nDescription: Using NVIDIA Triton to serve models from multiple frameworks (PyTorch, TensorFlow, ONNX). Covers model ensemble pipelines and dynamic batching for sub-100ms latency.\nLearning Outcomes: Configure Triton Model Repository, Implement dynamic batching for high throughput, Optimize model performance with TensorRT",
517
  "metadata": {
518
  "course_id": "OPS-TRITON-201",
519
  "category": "MLOps",
520
  "level": "advanced",
 
 
 
521
  "duration": 15,
522
  "tags": [
523
  "Triton",
 
528
  }
529
  },
530
  {
531
+ "page_content": "Course Title: LLM Red Teaming & Guardrails\nCategory: AI Security\nDescription: Deep dive into LLM vulnerabilities. Learn to simulate prompt injections, implement Lakera/NeMo Guardrails, and secure RAG retrieval from data leakage.\nLearning Outcomes: Perform adversarial 'red teaming' on LLM prompts, Implement real-time injection detection layers, Secure vector retrieval pipelines from PII leakage",
532
  "metadata": {
533
  "course_id": "SEC-LLM-301",
534
  "category": "AI Security",
535
  "level": "advanced",
 
536
  "duration": 12,
537
  "tags": [
538
  "Security",
 
542
  }
543
  },
544
  {
545
+ "page_content": "Course Title: Billion-Scale Vector Ops\nCategory: Data Engineering\nDescription: Scaling beyond managed services. Managing Milvus clusters, fine-tuning HNSW parameters, and partitioning massive datasets for distributed search.\nLearning Outcomes: Architect distributed Milvus clusters, Tune index performance for billion-scale search, Implement complex metadata filtering at scale",
546
  "metadata": {
547
  "course_id": "DTA-MIL-401",
548
  "category": "Data Engineering",
549
  "level": "expert",
 
 
 
550
  "duration": 18,
551
  "tags": [
552
  "Milvus",
 
556
  }
557
  },
558
  {
559
+ "page_content": "Course Title: Enterprise Health Record Admin\nCategory: Health Informatics\nDescription: Introduction to the administrative side of Epic and Cerner. Covers patient population mapping, digital referral tracking, and cross-departmental data integration.\nLearning Outcomes: Navigate enterprise EHR interfaces, Audit digital clinical documentation for compliance, Manage HIPAA-secure data transfers",
560
  "metadata": {
561
  "course_id": "HC-EHR-101",
562
  "category": "Health Informatics",
563
  "level": "beginner",
 
564
  "duration": 8,
565
  "tags": [
566
  "EHR",
 
571
  }
572
  },
573
  {
574
+ "page_content": "Course Title: Utilization Management & InterQual\nCategory: Compliance\nDescription: Deep dive into InterQual clinical criteria. Learn how to determine medical necessity for inpatient, observation, and outpatient services to ensure insurance and federal reimbursement.\nLearning Outcomes: Apply InterQual criteria to clinical scenarios, Determine appropriate level of care, Manage clinical appeals and denials",
575
  "metadata": {
576
  "course_id": "HC-UM-201",
577
  "category": "Compliance",
578
  "level": "intermediate",
 
 
 
579
  "duration": 12,
580
  "tags": [
581
  "InterQual",
 
586
  }
587
  },
588
  {
589
+ "page_content": "Course Title: Clinical Analytics & Power BI\nCategory: Data Science\nDescription: Converting case notes into data. Learn to build Power BI dashboards that track patient 'Self-Sufficiency' scores, discharge timelines, and program cost-efficiency.\nLearning Outcomes: Connect clinical databases to Power BI, Design interactive patient outcome dashboards, Predict patient readmission risks via data trends",
590
  "metadata": {
591
  "course_id": "HC-DTA-301",
592
  "category": "Data Science",
593
  "level": "intermediate",
 
594
  "duration": 10,
595
  "tags": [
596
  "Power BI",
 
601
  }
602
  },
603
  {
604
+ "page_content": "Course Title: Mental Health Informatics Foundations\nCategory: Health Informatics\nDescription: The transition from clinical notes to structured data. Learn to manage HIPAA-compliant databases and move from 'observational' reporting to 'analytical' population health tracking.\nLearning Outcomes: Structure clinical counseling data for HIPAA-compliant analysis, Navigate Digital Mental Health Records (DMHR), Interpret large-scale behavioral health datasets",
605
  "metadata": {
606
  "course_id": "EDU-INF-101",
607
  "category": "Health Informatics",
608
  "level": "beginner",
 
609
  "duration": 6,
610
  "tags": [
611
  "Informatics",
 
616
  }
617
  },
618
  {
619
+ "page_content": "Course Title: AI in Clinical Crisis Detection\nCategory: Clinical AI\nDescription: Utilizing Natural Language Processing (NLP) and sentiment analysis to identify risk markers in counseling logs and digital communications for proactive intervention.\nLearning Outcomes: Understand NLP markers for suicidal ideation and burnout, Configure AI alerts for crisis team activation, Audit AI outputs for clinical accuracy and bias",
620
  "metadata": {
621
  "course_id": "EDU-AI-201",
622
  "category": "Clinical AI",
623
  "level": "intermediate",
 
 
 
624
  "duration": 12,
625
  "tags": [
626
  "AI",
 
631
  }
632
  },
633
  {
634
+ "page_content": "Course Title: Digital EAP Ecosystem Management\nCategory: Enterprise Wellness\nDescription: Mastering the administration of platforms like Lyra and Spring Health. Learn to deploy automated triage, manage global provider networks, and track employee wellness ROI.\nLearning Outcomes: Administer enterprise-scale mental health platforms, Set up automated clinical triage workflows, Measure and report on the ROI of digital wellness programs",
635
  "metadata": {
636
  "course_id": "EDU-PLAT-301",
637
  "category": "Enterprise Wellness",
638
  "level": "intermediate",
 
 
 
639
  "duration": 10,
640
  "tags": [
641
  "EAP",
 
646
  }
647
  },
648
  {
649
+ "page_content": "Course Title: Kubernetes for AI Workloads\nCategory: MLOps\nDescription: An introduction to K8s specifically for ML engineers. Covers pod orchestration, GPU resource allocation, and scaling FastAPI backends on clusters.\nLearning Outcomes: Deploy ML models as K8s services, Configure GPU-enabled worker nodes, Manage cluster auto-scaling for inference bursts",
650
  "metadata": {
651
  "course_id": "OPS-K8S-101",
652
  "category": "MLOps",
653
  "level": "intermediate",
 
654
  "duration": 10,
655
  "tags": [
656
  "Kubernetes",
 
660
  }
661
  },
662
  {
663
+ "page_content": "Course Title: High-Performance Serving with Triton\nCategory: MLOps\nDescription: Using NVIDIA Triton to serve models from multiple frameworks (PyTorch, TensorFlow, ONNX). Covers model ensemble pipelines and dynamic batching for sub-100ms latency.\nLearning Outcomes: Configure Triton Model Repository, Implement dynamic batching for high throughput, Optimize model performance with TensorRT",
664
  "metadata": {
665
  "course_id": "OPS-TRITON-201",
666
  "category": "MLOps",
667
  "level": "advanced",
 
 
 
668
  "duration": 15,
669
  "tags": [
670
  "Triton",
 
675
  }
676
  },
677
  {
678
+ "page_content": "Course Title: LLM Red Teaming & Guardrails\nCategory: AI Security\nDescription: Deep dive into LLM vulnerabilities. Learn to simulate prompt injections, implement Lakera/NeMo Guardrails, and secure RAG retrieval from data leakage.\nLearning Outcomes: Perform adversarial 'red teaming' on LLM prompts, Implement real-time injection detection layers, Secure vector retrieval pipelines from PII leakage",
679
  "metadata": {
680
  "course_id": "SEC-LLM-301",
681
  "category": "AI Security",
682
  "level": "advanced",
 
683
  "duration": 12,
684
  "tags": [
685
  "Security",
 
689
  }
690
  },
691
  {
692
+ "page_content": "Course Title: Billion-Scale Vector Ops\nCategory: Data Engineering\nDescription: Scaling beyond managed services. Managing Milvus clusters, fine-tuning HNSW parameters, and partitioning massive datasets for distributed search.\nLearning Outcomes: Architect distributed Milvus clusters, Tune index performance for billion-scale search, Implement complex metadata filtering at scale",
693
  "metadata": {
694
  "course_id": "DTA-MIL-401",
695
  "category": "Data Engineering",
696
  "level": "expert",
 
 
 
697
  "duration": 18,
698
  "tags": [
699
  "Milvus",
 
703
  }
704
  },
705
  {
706
+ "page_content": "Course Title: Data Fundamentals for Talent Ops\nCategory: Workforce Analytics\nDescription: Foundational course on HR metrics and data hygiene. Learn to structure talent data for analysis and move beyond simple spreadsheets.\nLearning Outcomes: Define key workforce KPIs, Structure unstructured talent data for reporting, Basics of data-driven decision making in recruitment",
707
  "metadata": {
708
  "course_id": "BUS-DATA-101",
709
  "category": "Workforce Analytics",
710
  "level": "beginner",
 
711
  "duration": 5,
712
  "tags": [
713
  "Data",
 
717
  }
718
  },
719
  {
720
+ "page_content": "Course Title: SQL for Workforce Analytics\nCategory: Data Science\nDescription: Learn to query internal talent databases. Covers JOINs, aggregations, and subqueries to find hiring trends and predict churn.\nLearning Outcomes: Write SQL queries to extract talent metrics, Analyze historical hiring data for trends, Build basic labor supply reports",
721
  "metadata": {
722
  "course_id": "BUS-SQL-201",
723
  "category": "Data Science",
724
  "level": "intermediate",
 
 
 
725
  "duration": 12,
726
  "tags": [
727
  "SQL",
 
731
  }
732
  },
733
  {
734
+ "page_content": "Course Title: Mastering AI Talent Platforms\nCategory: Recruitment Tech\nDescription: Deep dive into Eightfold.ai and SeekOut. Learn to use deep-learning matching, skill-adjacency analysis, and automated sourcing bots.\nLearning Outcomes: Configure AI matching filters, Analyze talent pools for skill gaps using AI, Manage automated sourcing workflows",
735
  "metadata": {
736
  "course_id": "BUS-AI-301",
737
  "category": "Recruitment Tech",
738
  "level": "advanced",
 
 
 
739
  "duration": 10,
740
  "tags": [
741
  "AI",
 
745
  }
746
  },
747
  {
748
+ "page_content": "Course Title: Enterprise VMS Strategy\nCategory: Logistics\nDescription: Managing contingent labor at scale using SAP Fieldglass. Covers vendor optimization, bill-rate management, and compliance audits.\nLearning Outcomes: Navigate SAP Fieldglass VMS, Optimize bill-rates across global vendors, Manage contingent workforce compliance",
749
  "metadata": {
750
  "course_id": "BUS-VMS-401",
751
  "category": "Logistics",
752
  "level": "intermediate",
 
753
  "duration": 8,
754
  "tags": [
755
  "VMS",
app/vectordatabase/pinecone.py ADDED
@@ -0,0 +1,136 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+ import pickle
3
+ import requests
4
+ from pathlib import Path
5
+ from typing import List
6
+ from pinecone import Pinecone, ServerlessSpec
7
+ from pinecone_text.sparse import BM25Encoder
8
+ from langchain_community.retrievers import PineconeHybridSearchRetriever
9
+ from langchain_core.documents import Document
10
+ from langchain_core.embeddings import Embeddings
11
+ from app.core.config import settings
12
+
13
+
14
+ # -----------------------------
15
+ # Paths
16
+ # -----------------------------
17
+
18
+ BASE_DIR = Path(__file__).resolve().parent
19
+ DATA_PATH = BASE_DIR / "langchain_formatted.json"
20
+ BM25_PKL_PATH = BASE_DIR / "bm25.pkl"
21
+
22
+
23
+
24
+ # General Remote Embeddings
25
+ # avoids cold starts
26
+
27
+
28
+ class GeneralRemoteEmbeddings(Embeddings):
29
+ def __init__(self, endpoint: str):
30
+ self.endpoint = endpoint
31
+
32
+ def embed_documents(self, texts: List[str]) -> List[List[float]]:
33
+ response = requests.post(
34
+ f"{self.endpoint}/embed_docs",
35
+ json={"texts": texts}
36
+ )
37
+ response.raise_for_status()
38
+ return response.json()["embeddings"]
39
+
40
+ def embed_query(self, text: str) -> List[float]:
41
+ response = requests.post(
42
+ f"{self.endpoint}/embed_query",
43
+ json={"text": text}
44
+ )
45
+ response.raise_for_status()
46
+ return response.json()["embedding"]
47
+
48
+
49
+ embeddings = GeneralRemoteEmbeddings(
50
+ endpoint="https://gaykar-generalembeddings.hf.space"
51
+ )
52
+
53
+
54
+ # -----------------------------
55
+ # Load Documents
56
+ # -----------------------------
57
+
58
+ def load_documents(data_path: Path) -> List[Document]:
59
+ if not data_path.exists():
60
+ raise FileNotFoundError(f"Catalog file not found: {data_path}")
61
+
62
+ with open(data_path, "r", encoding="utf-8") as f:
63
+ data = json.load(f)
64
+
65
+ documents = [
66
+ Document(
67
+ page_content=doc["page_content"],
68
+ metadata=doc["metadata"]
69
+ )
70
+ for doc in data
71
+ ]
72
+
73
+ print(f"Loaded {len(documents)} course documents")
74
+ return documents
75
+
76
+
77
+ documents: List[Document] = load_documents(DATA_PATH)
78
+
79
+ if not documents:
80
+ raise ValueError("No documents loaded from formatted_catalog.json")
81
+
82
+
83
+ # -----------------------------
84
+ # Pinecone Index
85
+ # -----------------------------
86
+
87
+ pc = Pinecone(api_key=settings.PINECONE_API_KEY)
88
+
89
+ INDEX_NAME = "final-courses-index"
90
+
91
+ if INDEX_NAME not in pc.list_indexes().names():
92
+ pc.create_index(
93
+ name=INDEX_NAME,
94
+ dimension=384,
95
+ metric="dotproduct",
96
+ spec=ServerlessSpec(
97
+ cloud="aws",
98
+ region="us-east-1"
99
+ )
100
+ )
101
+ print(f"Index created: {INDEX_NAME}")
102
+
103
+ index = pc.Index(INDEX_NAME)
104
+ print("Index ready:", index.describe_index_stats())
105
+
106
+
107
+ # -----------------------------
108
+ # BM25 Sparse Encoder
109
+ # Loads from pickle if exists, fits and saves if not
110
+ # -----------------------------
111
+
112
+ bm25_encoder = BM25Encoder()
113
+
114
+ if BM25_PKL_PATH.exists():
115
+ print("Loading existing BM25 model from pickle...")
116
+ with open(BM25_PKL_PATH, "rb") as f:
117
+ bm25_encoder = pickle.load(f)
118
+ else:
119
+ print("Fitting BM25 on course catalog...")
120
+ bm25_encoder.fit([doc.page_content for doc in documents])
121
+ with open(BM25_PKL_PATH, "wb") as f:
122
+ pickle.dump(bm25_encoder, f)
123
+ print(f"BM25 fitted and saved to {BM25_PKL_PATH}")
124
+
125
+
126
+ # -----------------------------
127
+ # Hybrid Retriever
128
+ # -----------------------------
129
+
130
+ retriever = PineconeHybridSearchRetriever(
131
+ embeddings=embeddings,
132
+ sparse_encoder=bm25_encoder,
133
+ index=index
134
+ )
135
+
136
+ print("Retriever ready.")
requirements.txt CHANGED
@@ -1,4 +1,5 @@
1
- langchain==1.2.10
 
2
  pydantic==2.11.7
3
  langchain_huggingface
4
  langchain-groq==1.1.1
 
1
+ langchain==1.2.15
2
+ langgraph==1.1.6
3
  pydantic==2.11.7
4
  langchain_huggingface
5
  langchain-groq==1.1.1