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.
- 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
βββ 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
- 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
- Python 3.12+
- Jaseci framework
git clone https://github.com/Darryl-Mbae/smart-career-path-navigator.git
python3 -m venv jacenv
source jacenv/bin/activate
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
node -v
npm -v
cd smart-career-path-navigator/app
pip install -r requirements.txt
npm install
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
jac serve app.jac
The application will be available at http://localhost:8000/page/app
- Click "Get Started" to access the authentication page
- Sign up with email and password or log in to existing account
- Upload your resume (PDF, DOC, DOCX formats supported)
- AI analyzes and extracts your skills, experience, and certifications
- Review AI-detected skills from your CV
- Add any missing skills manually
- Remove irrelevant skills
- View AI-suggested roles based on your profile
- Select target roles you're interested in
- Add custom roles if needed
- System generates personalized learning paths
- Skill gap analysis completed
- Ready to access dashboard
- Overview of your profile and progress
- Quick access to all features
- Notifications and updates
- View and edit your skill profile
- Add new skills as you learn
- Track skill development over time
- Manage target roles
- View role requirements
- Track progress toward career goals
- Access personalized learning paths
- View recommended resources and courses
- Track completion of learning milestones
- Manage your certifications
- View recommended certifications for target roles
- Track certification progress
# 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>
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
- Compares your current skills with target role requirements
- Identifies missing skills and certifications using graph traversal
- Prioritizes learning based on career goals
- Generates custom roadmaps for each target role
- Uses web scraping to find current learning resources
- Updates based on 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
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
- 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
- Set up Jac environment:
python -m venv jacenv && source jacenv/bin/activate - Install Jaseci:
pip install jaseci jac-lang - Install dependencies:
pip install -r requirements.txt && npm install - Configure environment variables in
.env - Start the application:
jac serve app.jac
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the ISC License.
- 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
- 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
- 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
For issues and questions:
- Check the Jac documentation at jac-lang.org
- Review the walker implementations in
app.impl.jac - Examine the graph models in
backend/models/ - Create an issue in the repository
Happy Career Mapping with Arise! π
