Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PathForge AI 🚀

Agentic Personalized Course Pathways — Powered by IBM Granite & watsonx.ai
Built for IBM SkillsBuild AICTE 2026 Internship Program

IBM watsonx FastAPI React LangChain License


📸 Overview

PathForge AI is a production-ready AI SaaS platform that generates personalized learning roadmaps based on a user's skills, career goals, interests, and available study time. It uses IBM Granite foundation models via watsonx.ai or watsonx Orchestrate to deliver intelligent, role-specific guidance.


🏗️ Architecture

┌─────────────────────────────────────────────────────────────────┐
│                        PathForge AI                              │
├──────────────────────┬──────────────────────────────────────────┤
│   Frontend           │   Backend                                 │
│   React 18 + Vite    │   FastAPI + Python 3.12                   │
│   Tailwind CSS       │   IBM Granite / watsonx Orchestrate       │
│   Framer Motion      │   TF-IDF RAG Pipeline (no C++ needed)     │
│   Recharts           │   ReportLab PDF Export                    │
│   Dark/Light Mode    │   Role-specific Smart Fallbacks           │
└──────────────────────┴──────────────────────────────────────────┘

✨ Features

Feature Description
🎯 Skill Gap Analysis IBM Granite identifies missing skills for your exact role
🗺️ Personalized Roadmap 3-phase learning path tailored to your level & timeline
📅 Weekly Study Plan Hour-by-hour schedule based on your available time
📚 Course Recommendations RAG-powered search over IBM SkillsBuild + Coursera content
🚀 Project Suggestions Role-specific portfolio project ideas
🎓 Certification Guidance IBM & industry certs matched to your career goal
📊 Progress Tracker Badges, streaks, study tips, next milestone indicators
📄 PDF Export Branded roadmap PDF via ReportLab
🌙 Dark / Light Mode System-aware theme toggle
🤖 watsonx Orchestrate Route AI requests to your deployed Orchestrate agent

📁 Folder Structure

pathforge-ai/
├── frontend/                   # React + Vite + Tailwind
│   └── src/
│       ├── api/                # Axios client
│       ├── components/         # Layout, Sidebar
│       ├── context/            # Global AppContext
│       └── pages/              # Dashboard, Profile, Roadmap, Resources, Progress
├── backend/                    # FastAPI
│   ├── routers/                # profile, roadmap, resources, progress, export, rag
│   ├── services/
│   │   ├── granite_service.py  # IBM Granite + Orchestrate routing
│   │   ├── rag_service.py      # TF-IDF RAG pipeline (35 docs)
│   │   └── pdf_service.py      # ReportLab PDF
│   ├── main.py
│   ├── config.py
│   └── requirements.txt
├── .gitignore
└── README.md

🔧 Tech Stack

Frontend: React 18, Vite, Tailwind CSS, Framer Motion, Recharts, Lucide Icons, React Router v6

Backend: Python 3.12, FastAPI, LangChain, ReportLab, httpx

AI: IBM watsonx.ai, IBM Granite 13B Instruct, watsonx Orchestrate

RAG: Custom TF-IDF cosine similarity engine (zero native dependencies)


⚙️ Setup

1. Clone & Install

# Frontend
cd frontend
npm install

# Backend
cd backend
python -m venv venv
venv\Scripts\activate        # Windows
pip install -r requirements.txt

2. Configure Environment

cp backend/.env.example backend/.env

Edit backend/.env:

# ── Option A: watsonx Orchestrate (takes priority) ──────────────
WATSONX_ORCHESTRATE_API_KEY=your_orchestrate_api_key
WATSONX_ORCHESTRATE_URL=https://api.us-south.watson-orchestrate.cloud.ibm.com/instances/<id>

# ── Option B: IBM Granite / watsonx.ai (fallback) ───────────────
IBM_WATSONX_API_KEY=your_ibm_cloud_api_key
IBM_WATSONX_PROJECT_ID=your_watsonx_project_id
IBM_WATSONX_URL=https://us-south.ml.cloud.ibm.com
GRANITE_MODEL_ID=ibm/granite-13b-instruct-v2

# ── App ──────────────────────────────────────────────────────────
CORS_ORIGINS=http://localhost:5173

If Option A credentials are set, all AI calls route to Orchestrate.
If only Option B is set, calls go directly to IBM Granite.
If neither is set, smart role-based fallbacks are used (no API needed).

3. Run

# Terminal 1 — Backend
& ".venv\Scripts\uvicorn.exe" main:app --port 8000 --app-dir backend

# Terminal 2 — Frontend
cd frontend && npm run dev
Service URL
App http://localhost:5173/
API Docs http://localhost:8000/docs

📡 API Endpoints

Method Endpoint Description
POST /api/profile/analyze Skill gap analysis via IBM Granite
POST /api/roadmap/generate 3-phase roadmap generation (RAG + Granite)
POST /api/resources/search Topic-specific course & resource search
GET /api/progress/{user_id} Progress, badges, tips, next milestone
POST /api/progress/update Mark course complete, update streak
POST /api/export/pdf Stream branded PDF
POST /api/rag/search Search knowledge base
POST /api/rag/upload/text Add text to knowledge base
POST /api/rag/upload/file Upload .txt file to knowledge base
GET /api/rag/documents List all knowledge base documents
GET /api/rag/stats RAG pipeline statistics

🤖 IBM Granite Models

Model ID Best For
ibm/granite-13b-instruct-v2 General instruction following
ibm/granite-13b-chat-v2 Conversational responses
ibm/granite-8b-code-instruct Code generation

🧠 RAG Pipeline

PathForge uses a custom TF-IDF cosine similarity engine — no ChromaDB or C++ compiler required:

  • 35 curated documents — IBM SkillsBuild, Coursera certs, career roadmaps, study tips
  • Context injection — relevant docs injected into every Granite/Orchestrate prompt
  • Document upload — add custom knowledge via API or .txt file upload
  • Zero extra dependencies — pure Python math + re + collections

🏆 Progress & Gamification

  • 6 course badges: First Step → Bookworm → Fast Learner → Focused → On Fire → Roadmap Complete
  • 4 streak badges: 3-Day Streak → Week Warrior → Fortnight Focus → Monthly Master
  • Dynamic tips: Phase-specific study advice that cycles as you progress
  • Next milestone: Always shows exactly what's needed for the next badge

📄 License

MIT © 2026 — Built with ❤️ for IBM SkillsBuild AICTE Internship Program


Powered by IBM Granite & watsonx.ai · PathForge AI

About

Agentic AI powered personalized learning pathway platform built using IBM watsonx Orchestrate, IBM Granite, FastAPI, React, and Tailwind CSS.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages