Skip to content

Darryl-Mbae/smart-career-path-navigator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

136 Commits
Β 
Β 
Β 
Β 

Repository files navigation

Arise Demo Video

Arise - AI-Powered Career Mapping Platform

Arise is an intelligent career development platform built with Jac/Jaseci that analyzes your skills, identifies career opportunities, and creates personalized learning roadmaps to help you achieve your professional goals.

πŸš€ Features

  • CV Analysis: Upload your resume and let AI extract your skills, certifications, and experience
  • Skill Gap Analysis: Compare your current skills against target roles to identify learning opportunities
  • Career Role Suggestions: Get AI-powered recommendations for roles that match your profile
  • Personalized Learning Paths: Receive custom roadmaps with resources to bridge skill gaps
  • Interactive Dashboard: Track your progress and manage your career development journey

πŸ—οΈ Project Structure

β”œβ”€β”€ app/                          # Main Jac application directory
β”‚   β”œβ”€β”€ pages/                    # UI pages (Jac client components)
β”‚   β”‚   β”œβ”€β”€ Website.jac          # Landing page
β”‚   β”‚   β”œβ”€β”€ Auth.jac             # Authentication (login/signup)
β”‚   β”‚   β”œβ”€β”€ Onboarding.jac       # User onboarding flow
β”‚   β”‚   └── Dashboard.jac        # Main dashboard
β”‚   β”œβ”€β”€ backend/                  # Backend logic modules
β”‚   β”‚   β”œβ”€β”€ models/              # Data models (Skills, Roles, etc.)
β”‚   β”‚   β”œβ”€β”€ relationships/       # Graph relationships
β”‚   β”‚   β”œβ”€β”€ tools/               # LLM Tools
β”‚   β”‚   └── helpers/             # Helper functions
β”‚   β”œβ”€β”€ app.jac                  # Main application entry point
β”‚   β”œβ”€β”€ app.impl.jac            # Walker implementations
β”‚   β”œβ”€β”€ package.json            # Node.js dependencies for client
β”‚   β”œβ”€β”€ requirements.txt        # Python dependencies
β”‚   └── .env                    # Environment variables
└── README.md                   # This file

πŸ› οΈ Technology Stack

  • Framework: Jac/Jaseci (Full-stack graph-native framework)
  • AI/ML: Gemini AI/ via BYLLM
  • APIs: Firecrawl (web scraping), Serper (search)
  • File Processing: PyPDF2, python-docx
  • Client: React-like Jac client components

βš™οΈ Setup Instructions

Prerequisites

  • Python 3.12+
  • Jaseci framework

1. Clone the Repository

git clone https://github.com/Darryl-Mbae/smart-career-path-navigator.git

2. Create Jac Environment

python3 -m venv jacenv

Then Activate the environment

On Linux/Mac:

source jacenv/bin/activate

3. Install Node.js

For Linux users:

Visit https://nodejs.org/en/download and follow the instructions to install Node.js using
 nvm (Node Version Manager) with npm.

Select:

Platform: Linux
Package Manager: nvm
Package: npm

Verify Installation of Node

node -v
npm -v

4. Install Dependencies

cd smart-career-path-navigator/app
pip install -r requirements.txt
npm install

5. Configure Environment Variables

Create two .env files; one in the app/ directory (where app.jac resides) and another in app/backend/tools directory with the following API keys:

GEMINI_API_KEY=your_gemini_api_key_here
SERPER_API_KEY=your_serper_search_api_key_here  
FIRECRAWL_API_KEY=your_firecrawl_api_key_here

Where to get API keys:

  • Gemini AI: Sign up at gemini for AI model access
  • Serper: Get your key at serper.dev for web search functionality
  • Firecrawl: Register at firecrawl.dev for web scraping capabilities

6. Start the Application

jac serve app.jac

The application will be available at http://localhost:8000/page/app

πŸ“‹ User Workflow

1. Registration & Authentication

  • Click "Get Started" to access the authentication page
  • Sign up with email and password or log in to existing account

2. Onboarding Process (4 Steps)

Step 1: Upload CV

  • Upload your resume (PDF, DOC, DOCX formats supported)
  • AI analyzes and extracts your skills, experience, and certifications

Step 2: Review & Update Skills

  • Review AI-detected skills from your CV
  • Add any missing skills manually
  • Remove irrelevant skills

Step 3: Set Career Goals

  • View AI-suggested roles based on your profile
  • Select target roles you're interested in
  • Add custom roles if needed

Step 4: Get Your Roadmap

  • System generates personalized learning paths
  • Skill gap analysis completed
  • Ready to access dashboard

3. Dashboard Features

Main Dashboard

  • Overview of your profile and progress
  • Quick access to all features
  • Notifications and updates

Skills Management

  • View and edit your skill profile
  • Add new skills as you learn
  • Track skill development over time

Roles & Career Goals

  • Manage target roles
  • View role requirements
  • Track progress toward career goals

Learning Roadmap

  • Access personalized learning paths
  • View recommended resources and courses
  • Track completion of learning milestones

Certifications

  • Manage your certifications
  • View recommended certifications for target roles
  • Track certification progress

πŸ”§ Development Commands

# Start the Jac application
jac serve app.jac

# Build client components (if needed)
npm run build

# Install new Python dependencies
pip install <package_name>

# Install new client dependencies  
npm install <package_name>

🎯 Key Features Explained

AI-Powered CV Analysis

The system uses Gemini AI to extract:

  • Technical and soft skills from resume text
  • Work experience and roles
  • Certifications and education
  • Career interests and goals

Skill Gap Analysis

  • Compares your current skills with target role requirements
  • Identifies missing skills and certifications using graph traversal
  • Prioritizes learning based on career goals

Dynamic Learning Paths

  • Generates custom roadmaps for each target role
  • Uses web scraping to find current learning resources
  • Updates based on real-time job market data

Real-time Job Market Data

  • Fetches current job requirements using Serper API
  • Analyzes trending skills in your target roles
  • Provides market-relevant recommendations via Firecrawl

πŸ” API Keys Required

The application requires the following API keys in your .env file:

# Gemini AI - for CV analysis and role suggestions
GEMINI_API_KEY=your_mistral_api_key_here

# Serper - for job market search functionality  
SERPER_API_KEY=your_serper_search_api_key_here

# Firecrawl - for web scraping learning resources
FIRECRAWL_API_KEY=your_firecrawl_api_key_here

πŸ“ Data Storage

  • User profiles and skills are stored in Jaseci's native graph database
  • CVs are saved locally in the app/resumes/ directory
  • Learning paths are generated as markdown files
  • All data relationships are managed through Jac's graph architecture

πŸš€ Deployment

  1. Set up Jac environment: python -m venv jacenv &amp;&amp; source jacenv/bin/activate
  2. Install Jaseci: pip install jaseci jac-lang
  3. Install dependencies: pip install -r requirements.txt &amp;&amp; npm install
  4. Configure environment variables in .env
  5. Start the application: jac serve app.jac

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

πŸ“„ License

This project is licensed under the ISC License.

πŸ” Application Architecture

Jac Walkers (Backend Logic)

  • User Management: initialize_memory, create_resume_node, upload_resume
  • CV Analysis: analyze_cv, extract_user_skills_from_cv
  • Profile Management: get_user_profile, update_user_profile
  • Role Analysis: generate_role_suggestions, collect_role_requirements
  • Skill Gap Analysis: find_skill_and_certification_gaps, retrieve_skill_gaps
  • Learning Paths: recommend_learning_paths, get_road_map

Jac Client Components

  • Website.jac: Landing page with hero section and navigation
  • Auth.jac: User authentication (login/signup) with form validation
  • Onboarding.jac: 4-step user onboarding flow
  • Dashboard.jac: Main application interface with sidebar navigation

Graph Data Models

  • Memory: User session and profile data
  • Resume: CV storage and metadata
  • Skill: Individual skills with descriptions
  • Role: Career roles with requirements
  • Certification: Professional certifications
  • Interest: User interests and preferences
  • RequirementsGap: Skill gaps for target roles
  • LearningPath: Personalized learning roadmaps

πŸ†˜ Support

For issues and questions:

  1. Check the Jac documentation at jac-lang.org
  2. Review the walker implementations in app.impl.jac
  3. Examine the graph models in backend/models/
  4. Create an issue in the repository

πŸ“š Additional Resources

Happy Career Mapping with Arise! πŸš€

About

Arise is an intelligent career development platform built with Jac/Jaseci that analyzes your skills, identifies career opportunities, and creates personalized learning roadmaps to help you achieve your professional goals.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors