A comprehensive AI-driven application that analyzes CVs, identifies skill gaps, and provides actionable career development recommendations with real-time market intelligence.
This application uses multi-agent AI workflow to:
- Parse and analyze CVs to extract skills and experience
- Identify skill gaps by comparing against target job roles
- Provide learning recommendations with curated resources
- Generate market intelligence including salary data and geographic demand
- Create comprehensive PDF reports for career planning
- Extracts skills, experience, and personal information
- Supports multiple CV formats (PDF, TXT)
- Real-time processing with progress indicators
- Compares skills against target job requirements
- Identifies critical skill gaps with priority levels
- Provides detailed strength assessment
- Curated learning resources and courses
- Estimated learning timelines
- Cost and difficulty assessments
- Real-time salary data by skill and location
- Geographic demand analysis
- Industry trend insights
- Full detailed analysis reports
- Quick summary documents
- Downloadable PDF format
- No backend dependency for report generation
-
Clone the repository
git clone <repository-url> cd "Gap Analysis"
-
Start the backend
cd backend pip install -r requirements.txt uvicorn main:app --reload
-
Start the frontend
cd frontend npm install npm run dev
-
Access the application
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
Gap Analysis/
├── README.md # This overview
├── backend/
│ ├── main.py # FastAPI application entry
│ ├── requirements.txt # Python dependencies
│ ├── app/
│ │ ├── api/routes/ # API endpoints
│ │ ├── core/ # Configuration
│ │ ├── models/ # Data schemas
│ │ └── services/ # AI agents and business logic
│ └── storage/ # File storage
├── frontend/
│ ├── package.json # Node.js dependencies
│ ├── src/
│ │ ├── app/ # Next.js App Router pages
│ │ ├── components/ # React components
│ │ └── library/ # Utilities and API client
│ └── public/ # Static assets
└── references/ # Documentation and examples
- CV Upload → Upload CV file (PDF/TXT)
- CV Analysis → AI extracts skills and experience
- Gap Analysis → Compare against target role
- Market Intelligence → Gather salary and demand data
- Results Display → Interactive dashboard with insights
- PDF Generation → Download comprehensive reports
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License.
For support, please:
- Check the individual README files in
backend/
andfrontend/
directories - Review the API documentation at
/docs
endpoint - Check the
references/
directory for examples and guides
Last Updated: September 18, 2025 Version: 1.0.0
Frontend (Next.js) ←→ Backend (FastAPI) ←→ OpenAI GPT-4 + JSearch API
│ │
│ LangGraph Workflow:
│ • CV Parser Agent
│ • Skill Analyzer Agent
│ • Market Intelligence Agent (JSearch)
│ • Report Generator Agent
│
File Upload UI JSON Storage & API Integration
Progress Tracking
Results Display
CV Analysis Pipeline:
- Upload CV (PDF, DOCX, TXT) through web interface
- Parse document and extract text content using specialized agents
- LangGraph workflow coordinates AI analysis of skills, experience, education
- Fetch real-time job market data via JSearch API from multiple job boards
- Generate comprehensive reports with career recommendations and market insights
Key Features:
- LangGraph-powered multi-agent coordination
- Real-time job market data from JSearch API (Indeed, LinkedIn, Dice, etc.)
- Skill extraction with confidence scoring
- Role generalization for better job search coverage
- API usage tracking and caching for efficient data retrieval
- Experience duration calculation from text descriptions
- Market demand analysis with salary insights
- Personalized learning recommendations
- Multiple report formats (JSON, HTML, PDF)
Technology Stack:
- FastAPI with async/await support for high performance
- LangGraph for complex multi-agent AI workflows
- OpenAI GPT-4 integration for advanced language understanding
- JSearch API integration for comprehensive job market data
- FAISS vector store for efficient semantic search and caching
- Pydantic models for robust data validation and serialization
Core Services:
- CV Parser Service: Advanced document processing content extractrion
- Skill Analyzer Service: AI-powered skill extraction with confidence scoring and categorization
- Job Market Intelligence: Real-time data via JSearch API with usage tracking and 2-hour caching
- Report Generator Service: Multiple output formats with customizable templates
- LangGraph Orchestrator: Multi-agent workflow coordination and state management
- Results Storage: Persistent storage with JSON serialization and retrieval
API Features:
- Comprehensive RESTful endpoints for all CV analysis operations
- Real-time progress tracking with LangGraph workflow states
- Robust error handling with detailed error responses
- API usage monitoring and rate limiting for external services
- Health monitoring and system status endpoints
- Async processing for improved performance and scalability
For detailed backend setup and API documentation, see backend/README.md
User Interface:
- Modern dark theme design
- Real-time workflow progress tracking
- Interactive file upload with drag & drop
- Responsive design for all devices
User Experience:
- Live agent status updates during processing
- Progress indicators for each analysis stage
- Detailed results presentation
- Export capabilities for reports
Frontend:
- Next.js 14 with App Router
- Tailwind CSS for styling
- React hooks for state management
- Framer Motion for animations
Backend:
- FastAPI with async support
- OpenAI GPT-4 for AI processing
- PyPDF2/python-docx for document parsing
- Pydantic for data validation
AI Processing:
- Multi-agent orchestration
- Structured prompt engineering
- Confidence scoring algorithms
- Fallback mock data for market intelligence
Current Status:
- Core CV analysis functionality complete
- Market intelligence uses JSearch API (scraping logic exists but disabled)
- All major features working end-to-end
- Ready for development and testing
Known Limitations:
- Market data is sometimes unreliable since using free tier API
- No database persistence (uses file storage)
- Single-user design (no authentication)