Skip to content

AI-Powered Career Roadmap Generator. Uses a RAG pipeline to vectorize job market skills, compare them to user input, and generate personalized learning paths via the Gemini API and pgvector integration.

Notifications You must be signed in to change notification settings

Titus-waititu/SkillBridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

21 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ Skill Coach - AI-Powered Career Path Navigator

An advanced full-stack application that leverages RAG (Retrieval-Augmented Generation) and Vector Databases to provide personalized, data-driven career roadmaps for tech professionals.

Tech Stack FastAPI PostgreSQL Gemini

๐Ÿ“‹ Problem Statement

The current job search process is generic and frustrating. Professionals struggle to:

  • Identify exact skill gaps between their current role and dream role
  • Find personalized learning paths based on real market data
  • Understand which skills are actually in-demand in the job market
  • Get actionable, step-by-step guidance for career transitions

๐Ÿ’ก Solution

Skill Coach solves these problems by:

  1. Data-Driven Analysis: Analyzes real job postings (scraped or mocked) to identify in-demand skills
  2. Vector Search: Uses pgvector for semantic similarity matching between your skills and job requirements
  3. AI-Powered Roadmaps: Leverages Google's Gemini API to generate personalized, step-by-step learning paths
  4. RAG Architecture: Combines vector database retrieval with LLM generation for contextually relevant recommendations

How It Works

User Input โ†’ Vector Embedding โ†’ Database Query โ†’ Skill Gap Analysis โ†’ LLM Generation โ†’ Personalized Roadmap
  1. User provides current skills and target role
  2. System converts skills to vector embeddings
  3. Vector database finds similar job postings using cosine similarity
  4. Identifies skill gaps by comparing user skills vs. job requirements
  5. Gemini API generates detailed learning roadmap based on gaps
  6. Returns actionable, step-by-step path with resources and timelines

๐Ÿ› ๏ธ Tech Stack

Component Technology Why It's In-Demand
Frontend Next.js 14 (React) + TypeScript + Tailwind CSS Industry standard for performance, SEO, and modern UI. App Router architecture.
Backend Python (FastAPI) High-performance, async-first framework. Perfect for ML/AI integration.
Database PostgreSQL with pgvector Robust relational DB + advanced vector search for RAG.
AI/ML Google Gemini API State-of-the-art LLM for intelligent content generation.
Embeddings Sentence Transformers Open-source model for textโ†’vector conversion.
State Management TanStack Query (React Query) Modern server-state management for React.
Styling Tailwind CSS Utility-first CSS for rapid UI development.

๐ŸŽฏ Key Features

For Users

  • โœ… Personalized Career Roadmaps - Input your skills and get custom learning paths
  • โœ… Job Matching - Find jobs that match your skillset with similarity scores
  • โœ… Skill Gap Analysis - Identify exactly what you need to learn
  • โœ… Resource Recommendations - Get curated learning materials for each step
  • โœ… Timeline Estimates - Realistic timeframes for career transitions
  • โœ… Confidence Scores - Know how ready you are for your target role

Technical Highlights

  • โœ… Vector Search - Semantic similarity using pgvector and cosine distance
  • โœ… RAG Pipeline - Combines retrieval and generation for context-aware responses
  • โœ… Async Operations - Fast, non-blocking API with FastAPI
  • โœ… Type Safety - Full TypeScript on frontend, Pydantic on backend
  • โœ… Modern Architecture - App Router, Server Components, Edge Runtime ready

๐Ÿ“‚ Project Structure

skill-coach/
โ”œโ”€โ”€ backend/                    # FastAPI Backend
โ”‚   โ”œโ”€โ”€ app/
โ”‚   โ”‚   โ”œโ”€โ”€ api/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ routes/        # API endpoints
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ skills.py
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ jobs.py
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ roadmap.py
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ schemas.py     # Pydantic models
โ”‚   โ”‚   โ”œโ”€โ”€ core/
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ config.py      # Configuration
โ”‚   โ”‚   โ”œโ”€โ”€ db/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ database.py    # DB connection
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ models.py      # SQLAlchemy models
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ init_db.py     # Database seeding
โ”‚   โ”‚   โ””โ”€โ”€ services/
โ”‚   โ”‚       โ”œโ”€โ”€ embedding_service.py  # Vector embeddings
โ”‚   โ”‚       โ””โ”€โ”€ gemini_service.py     # Gemini API
โ”‚   โ”œโ”€โ”€ main.py                # FastAPI app
โ”‚   โ”œโ”€โ”€ requirements.txt
โ”‚   โ””โ”€โ”€ .env.example
โ”‚
โ””โ”€โ”€ frontend/                   # Next.js Frontend
    โ”œโ”€โ”€ src/
    โ”‚   โ”œโ”€โ”€ app/
    โ”‚   โ”‚   โ”œโ”€โ”€ layout.tsx     # Root layout
    โ”‚   โ”‚   โ”œโ”€โ”€ page.tsx       # Home page
    โ”‚   โ”‚   โ””โ”€โ”€ globals.css    # Global styles
    โ”‚   โ”œโ”€โ”€ components/
    โ”‚   โ”‚   โ”œโ”€โ”€ ui/            # Reusable UI components
    โ”‚   โ”‚   โ””โ”€โ”€ providers.tsx  # React Query provider
    โ”‚   โ””โ”€โ”€ lib/
    โ”‚       โ”œโ”€โ”€ api.ts         # API client
    โ”‚       โ””โ”€โ”€ utils.ts       # Utilities
    โ”œโ”€โ”€ package.json
    โ””โ”€โ”€ .env.local

๐Ÿš€ Getting Started

Prerequisites

  • Python 3.10+
  • Node.js 18+
  • PostgreSQL 14+ with pgvector extension
  • Google Gemini API Key (Get one here)

Backend Setup

  1. Navigate to backend directory
cd backend
  1. Create virtual environment
python -m venv venv
  1. Activate virtual environment

Windows (PowerShell):

.\venv\Scripts\Activate.ps1

macOS/Linux:

source venv/bin/activate
  1. Install dependencies
pip install -r requirements.txt
  1. Configure environment
cp .env.example .env

Edit .env with your settings:

DATABASE_URL=postgresql://postgres:password@localhost:5432/skill_coach
GEMINI_API_KEY=your_actual_api_key_here
REDIS_URL=redis://localhost:6379/0
  1. Setup PostgreSQL with pgvector
-- Connect to PostgreSQL
psql -U postgres

-- Create database
CREATE DATABASE skill_coach;

-- Connect to the database
\c skill_coach

-- Enable pgvector extension
CREATE EXTENSION vector;
  1. Initialize database and seed data
python -m app.db.init_db
  1. Run the API
python main.py

API will be available at:

Frontend Setup

  1. Navigate to frontend directory
cd frontend
  1. Install dependencies
npm install
# or
pnpm install
  1. Configure environment
cp .env.local.example .env.local

Edit .env.local:

NEXT_PUBLIC_API_URL=http://localhost:8000
  1. Run the development server
npm run dev
# or
pnpm dev

Frontend will be available at: http://localhost:3000

๐Ÿ“– Usage

1. Generate a Career Roadmap

  1. Visit http://localhost:3000
  2. Add your current skills (e.g., "Python", "JavaScript", "React")
  3. Enter your target role (e.g., "Senior AI Engineer")
  4. Optionally add target salary and experience
  5. Click "Generate Career Roadmap"
  6. Review your personalized learning path!

2. API Endpoints

Skills

# Search skills using vector similarity
curl -X POST "http://localhost:8000/api/v1/skills/search" \
  -H "Content-Type: application/json" \
  -d '{"query": "machine learning", "limit": 10}'

# Get trending skills
curl "http://localhost:8000/api/v1/skills/trending/top?limit=10"

Jobs

# Match jobs to your skills
curl -X POST "http://localhost:8000/api/v1/jobs/match" \
  -H "Content-Type: application/json" \
  -d '{
    "skills": ["Python", "FastAPI", "PostgreSQL"],
    "limit": 10,
    "min_salary": 120000
  }'

Roadmap

# Generate career roadmap
curl -X POST "http://localhost:8000/api/v1/roadmap/generate" \
  -H "Content-Type: application/json" \
  -d '{
    "current_skills": ["Python", "JavaScript", "React"],
    "target_role": "AI Engineer",
    "target_salary": 180000,
    "experience_years": 3
  }'

๐ŸŽจ Screenshots

Home Page - Input Form

Clean, intuitive interface for entering your career goals.

Generated Roadmap

Detailed, step-by-step learning path with resources and timelines.

Skill Gap Analysis

Visual representation of what you need to learn.

๐Ÿงช Technologies Demonstrated

Data & AI

  • โœ… RAG (Retrieval-Augmented Generation) architecture
  • โœ… Vector search with pgvector
  • โœ… Semantic similarity using cosine distance
  • โœ… Text embeddings with Sentence Transformers
  • โœ… LLM integration (Gemini API)
  • โœ… Complex data modeling with relationships

Backend

  • โœ… High-performance async API design
  • โœ… Type-safe Python with Pydantic
  • โœ… Database migrations and seeding
  • โœ… Error handling and retries
  • โœ… CORS configuration
  • โœ… API documentation (Swagger/ReDoc)

Frontend

  • โœ… Next.js 14 App Router
  • โœ… Server Components
  • โœ… Client Components for interactivity
  • โœ… TypeScript for type safety
  • โœ… TanStack Query for state management
  • โœ… Tailwind CSS for styling
  • โœ… Responsive design
  • โœ… Loading states and error handling

๐Ÿ”ฎ Future Enhancements

  • User authentication and profiles
  • Save and track multiple roadmaps
  • Progress tracking for learning steps
  • Community-contributed resources
  • Real-time job market data updates
  • Skill endorsements and verification
  • Integration with learning platforms (Coursera, Udemy, etc.)
  • Mobile app (React Native)
  • Email notifications for new opportunities
  • Salary predictions based on skills

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

๐Ÿ“ License

MIT License - feel free to use this project for your portfolio!

๐Ÿ‘ค Author

Built as a portfolio project to demonstrate:

  • Modern full-stack development
  • AI/ML integration
  • Vector databases and RAG architecture
  • Production-ready code practices

๐Ÿ™ Acknowledgments

  • Google Gemini API for AI-powered content generation
  • pgvector for vector database capabilities
  • FastAPI for the amazing Python framework
  • Next.js team for the best React framework
  • Vercel for deployment platform

โญ If you found this project helpful, please give it a star!

๐Ÿ“ง Questions? Feel free to reach out or open an issue.

About

AI-Powered Career Roadmap Generator. Uses a RAG pipeline to vectorize job market skills, compare them to user input, and generate personalized learning paths via the Gemini API and pgvector integration.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published