A comprehensive AI-powered career advisory platform that provides personalized job recommendations, skill gap analysis, and career guidance using modern web technologies.
- AI-Powered Job Matching: Advanced algorithms that analyze your skills, experience, and interests to provide personalized job recommendations with match scores
- Skill Gap Analysis: Identify exactly which skills you need to develop based on your target career path
- Trending Skills Visualization: Real-time insights into which skills are most valuable in today's job market
- Personalized Learning Paths: Custom recommendations for skill development with integration to Vision Track platform
- Progress Tracking: Monitor your skill development and career advancement with detailed analytics
- Career Roadmaps: Step-by-step guidance tailored to your professional goals
- Profile Management: Comprehensive user profiles with skills, education, and career aspirations
- Secure Authentication: JWT-based authentication with protected routes
- Responsive Design: Optimized for all devices (mobile, tablet, desktop)
- Real-time Analytics: Dynamic charts and visualizations using Recharts
- Modern UI/UX: Clean, professional interface with smooth animations and micro-interactions
- Database Integration: Supabase for reliable data storage and real-time updates
- AI/ML Integration: Custom algorithms for job matching and recommendation scoring
- RESTful API: Well-structured backend API for data management and AI services
- React 18 - Modern React with hooks and functional components
- JavaScript (ES6+) - Latest JavaScript features
- Tailwind CSS - Utility-first CSS framework for rapid UI development
- React Router - Client-side routing with protected routes
- Recharts - Responsive charts and data visualization
- Lucide React - Beautiful icon library
- Node.js - JavaScript runtime environment
- Express.js - Fast, unopinionated web framework
- Supabase - Open source Firebase alternative for database and authentication
- Custom AI Service - JavaScript-based ML algorithms for job matching
- PostgreSQL (via Supabase) - Robust relational database
- Row Level Security - Secure data access patterns
- Real-time subscriptions - Live data updates
ai-career-advisor/
├── public/
├── src/
│ ├── components/
│ │ ├── LandingPage.jsx # Marketing homepage
│ │ ├── AuthPage.jsx # Login/Signup forms
│ │ ├── Onboarding.jsx # New user profile creation
│ │ ├── Dashboard.jsx # Main analytics dashboard
│ │ ├── Profile.jsx # User profile management
│ │ └── LoadingSpinner.jsx # Loading component
│ ├── contexts/
│ │ └── AuthContext.jsx # Authentication state management
│ ├── lib/
│ │ └── supabase.js # Supabase client configuration
│ ├── App.jsx # Main app component with routing
│ ├── main.jsx # Application entry point
│ └── index.css # Global styles
├── server/
│ ├── services/
│ │ └── aiService.js # AI/ML algorithms and job matching
│ ├── lib/
│ │ └── supabase.js # Server-side Supabase client
│ └── index.js # Express server and API endpoints
├── supabase/
│ └── migrations/
│ └── create_schema.sql # Database schema and seed data
├── package.json
├── tailwind.config.js
├── vite.config.ts
└── README.md
- Node.js (version 16 or higher)
- npm or yarn package manager
- Supabase account (free tier available)
git clone <repository-url>
cd ai-career-advisor
npm install
Create a .env
file in the root directory:
# Supabase Configuration
VITE_SUPABASE_URL=your_supabase_project_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
# JWT Configuration
JWT_SECRET=your_jwt_secret_key
# Environment
NODE_ENV=development
-
Create a Supabase Project:
- Go to supabase.com
- Create a new project
- Copy your project URL and API keys
-
Run Database Migrations:
- Navigate to your Supabase project dashboard
- Go to the SQL Editor
- Copy and run the SQL from
supabase/migrations/create_schema.sql
-
Configure Authentication:
- In Supabase dashboard, go to Authentication > Settings
- Disable email confirmations for development (optional)
- Configure any additional auth providers if needed
npm run dev
This starts both the frontend (Vite dev server) and backend (Express server) concurrently.
npm run build
npm run preview
The application will be available at:
- Frontend:
http://localhost:5173
- Backend API:
http://localhost:3001
Stores comprehensive user information including skills, education, and career goals.
Records AI-generated job matches and scores for users.
Market data for trending skills, demand scores, and salary information.
Tracks user progress in skill development and learning paths.
The AI service uses a sophisticated scoring system that considers:
- Skills Match (40% weight): Exact and partial skill matching
- Experience Level (20% weight): Years of experience vs. job requirements
- Education Relevance (15% weight): Education level and field of study alignment
- Interest Alignment (15% weight): Career interests vs. job description
- Goal Compatibility (10% weight): Career goals vs. opportunity
- Analyzes user profiles against job requirements
- Generates personalized learning paths
- Identifies skill gaps and provides prioritized recommendations
- Calculates market demand for different skills
- Row Level Security: Database-level access control
- JWT Authentication: Secure token-based authentication
- Protected Routes: Frontend route protection
- Input Validation: Server-side validation for all inputs
- CORS Configuration: Proper cross-origin resource sharing setup
- Modern Design: Clean, professional interface inspired by industry leaders
- Responsive Layout: Mobile-first design that works on all devices
- Smooth Animations: Micro-interactions and transitions for better UX
- Accessible: Proper ARIA labels and keyboard navigation support
- Dark Mode Ready: Architecture supports theme switching (can be extended)
POST /api/auth/signup
- User registrationPOST /api/auth/signin
- User loginPOST /api/auth/signout
- User logout
GET /api/analytics/:userId
- Get user analytics dashboard dataPOST /api/job-match
- Calculate job match score for specific positionPOST /api/skill-gap-analysis
- Analyze skill gaps for target role
GET /api/profile/:userId
- Get user profilePUT /api/profile/:userId
- Update user profileGET /api/learning-progress/:userId
- Get learning progress
The learning path feature integrates with Vision Track to provide:
- Structured learning content
- Progress tracking
- Skill validation
- Certificate generation
When users click on learning recommendations, they are redirected to Vision Track with contextual information about their learning goals.
- Landing Page: Visit the homepage and explore features
- Registration: Create an account with email/password
- Onboarding: Complete the 4-step profile creation process
- Dashboard: Explore analytics, job matches, and recommendations
- Profile Management: Update skills, interests, and career goals
- Job Matching: Click on job recommendations to see detailed match analysis
- Learning Path: Access personalized learning recommendations
The database is pre-seeded with:
- 10 trending skills with market data
- Sample job opportunities
- Skill demand analytics
- Learning path templates
- Resume Builder: AI-powered resume optimization
- Interview Preparation: Personalized interview question generation
- Networking Suggestions: Connect with professionals in target roles
- Salary Negotiation: Market-based salary recommendations
- Company Culture Match: Analyze fit with company values
- Real-time Notifications: Push notifications for new opportunities
- Advanced Analytics: Machine learning model improvements
- Mobile App: React Native mobile application
- API Rate Limiting: Enhanced security and performance
- Caching Layer: Redis for improved response times
-
Supabase Connection Error
- Verify environment variables are correctly set
- Check Supabase project URL and API keys
- Ensure database migrations have been run
-
Build Errors
- Clear node_modules and reinstall:
rm -rf node_modules && npm install
- Check Node.js version compatibility
- Verify all environment variables are set
- Clear node_modules and reinstall:
-
Authentication Issues
- Check Supabase auth settings
- Verify JWT secret is configured
- Ensure proper CORS configuration
-
Database Migration Errors
- Check SQL syntax in migration file
- Verify Supabase project permissions
- Run migrations step by step if needed
- Fork the repository
- Create a feature branch:
git checkout -b feature-name
- Commit changes:
git commit -am 'Add feature'
- Push to branch:
git push origin feature-name
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For questions, issues, or contributions, please:
- Create an issue in the repository
- Contact the development team
- Check the documentation for common solutions
Note: This is a prototype application designed for demonstration purposes. For production deployment, additional security measures, performance optimizations, and testing should be implemented.