Skip to content

Latest commit

Β 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ HireFlow AI

Python Version Streamlit License Status GitHub Stars

AI-Powered Career Intelligence Platform for Freshers & Entry-Level Engineers

Features β€’ Architecture β€’ Installation β€’ Demo β€’ Documentation


πŸ“‹ Project Overview

HireFlow AI is an intelligent career platform that leverages artificial intelligence to help freshers and entry-level software engineers navigate their job search journey. The platform provides comprehensive tools for resume analysis, job matching, skill gap identification, career coaching, and interview preparation.

🎯 Problem Statement

Fresh graduates and entry-level developers face significant challenges:

  • Resume Optimization: Difficulty tailoring resumes to specific job requirements
  • Skill Gap Analysis: Uncertainty about which skills to prioritize for target roles
  • Job Discovery: Overwhelming number of job platforms with inconsistent information
  • Career Guidance: Lack of personalized career advice and interview preparation
  • Application Tracking: Difficulty managing multiple job applications efficiently

πŸ’‘ Solution

HireFlow AI addresses these challenges through:

  • AI-Powered Resume Parsing: Extract and analyze resume data using Google Gemini API
  • Intelligent Job Matching: Match resumes against job descriptions with weighted scoring
  • Skill Gap Analysis: Identify missing skills with learning recommendations
  • Career Coaching: AI-driven personalized career guidance
  • Job Aggregation: Scrape jobs from multiple platforms (LinkedIn, Internshala, Naukri, etc.)
  • Application Tracking: Manage job applications with status tracking

✨ Key Features

πŸ“„ Resume Intelligence

  • Smart Parsing: Extract structured data from PDF resumes using AI
  • ATS Optimization: Improve resume compatibility with applicant tracking systems
  • Skill Extraction: Automatically identify and categorize technical and soft skills
  • Resume Scoring: Get actionable feedback on resume quality

🎯 Job Matching Engine

  • Intelligent Matching: Compare resume skills against job requirements
  • Weighted Scoring: Priority-based skill matching (High/Medium/Low)
  • Category Analysis: Break down matches by skill categories (Frontend, Backend, DevOps, etc.)
  • Gap Analysis: Identify missing skills with learning recommendations

πŸ“Š Job Discovery

  • Multi-Platform Aggregation: Scrape jobs from LinkedIn, Internshala, Naukri, Glassdoor, Wellfound
  • Smart Filtering: Filter by location, salary, experience, work mode
  • Deduplication: Remove duplicate job postings automatically
  • Real-time Updates: Fresh job data with regular scraping

🧠 Career Coaching

  • AI Career Assistant: Get personalized career advice and guidance
  • Interactive Chat: AI-powered career Q&A interface
  • Career Fit Analysis: Match profile against various career paths
  • Interview Preparation: Generate role-specific interview questions

πŸ“ˆ Analytics Dashboard

  • Application Tracking: Monitor job application status and progress
  • Skill Analytics: Visualize skill distribution and growth
  • Learning Roadmaps: Personalized learning plans with milestones
  • Performance Metrics: Track career readiness scores

πŸ”§ Additional Features

  • Application Workflow: End-to-end application management
  • Alert System: Notifications for new jobs and application updates
  • Export Functionality: Generate reports and summaries
  • Responsive Design: Clean, intuitive user interface

πŸ—οΈ System Architecture

graph TB
    A[User Interface - Streamlit] --> B[API Layer - FastAPI]
    A --> C[Database - SQLite]
    B --> D[Service Layer]
    D --> E[AI Agents]
    D --> F[Job Services]
    D --> G[Matcher Engine]
    E --> H[Gemini API]
    F --> I[Job Scrapers]
    I --> J[External Job Platforms]
    G --> K[Skill Categorizer]
    G --> L[Ranking Engine]
    C --> M[ORM - SQLAlchemy]
Loading

Component Overview

Component Technology Purpose
Frontend Streamlit Interactive web interface
Backend API FastAPI RESTful API endpoints
Database SQLite + SQLAlchemy Data persistence and ORM
AI Engine Google Gemini API Resume parsing and career coaching
Job Scraping Selenium + BeautifulSoup Multi-platform job aggregation
Matching Engine Custom Algorithm Weighted skill matching
Visualization Plotly Interactive charts and graphs

πŸ› οΈ Technology Stack

Core Technologies

  • Python 3.12: Modern Python with type hints and async support
  • Streamlit 1.32+: Rapid web application development
  • FastAPI: High-performance API framework
  • SQLAlchemy 2.0: Modern Python SQL toolkit and ORM

AI & Machine Learning

  • Google Gemini API: Advanced AI for resume parsing and coaching
  • FuzzyWuzzy/RapidFuzz: String matching and similarity scoring
  • Custom Matching Algorithm: Weighted skill matching with priority levels

Data Processing

  • Pandas: Data manipulation and analysis
  • PyMuPDF: PDF parsing for resume extraction
  • Pydantic: Data validation and settings management

Web Scraping

  • Selenium: Browser automation for dynamic content
  • BeautifulSoup4: HTML parsing and data extraction
  • Requests: HTTP library for web scraping

Visualization

  • Plotly: Interactive charts and graphs
  • Streamlit Components: Custom UI components

Development Tools

  • python-dotenv: Environment variable management
  • Logging: Comprehensive logging system
  • Type Hints: Full type annotation coverage

πŸ“¦ Installation

Prerequisites

  • Python 3.12 or higher
  • pip (Python package manager)
  • Google Gemini API Key

Step 1: Clone the Repository

git clone https://github.com/Jayesh01323/HireFlow.git
cd HireFlow

Step 2: Create Virtual Environment

python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

Step 3: Install Dependencies

pip install -r requirements.txt

Step 4: Configure Environment Variables

cp .env.example .env

Edit .env and add your API key:

GEMINI_API_KEY=your_gemini_api_key_here
DATABASE_URL=sqlite:///data/hireflow.db

Step 5: Initialize Database

python -c "from src.database import init_db; init_db()"

Step 6: Run the Application

streamlit run app.py

The application will be available at http://localhost:8501


πŸš€ Usage Guide

1. Upload and Parse Resume

  • Navigate to Resume Parser page
  • Upload your PDF resume
  • AI will extract and structure your data
  • Review parsed information and skills

2. Discover Jobs

  • Go to Job Discovery page
  • Search for jobs by title, location, or skills
  • Apply filters (remote, salary, experience)
  • Save interesting jobs to your list

3. Match Your Resume to Jobs

  • Visit Job Matcher page
  • Select your parsed resume
  • Paste job description
  • Get detailed match analysis with skill gaps

4. Get Career Guidance

  • Use Career Assistant for personalized advice
  • Try interactive AI chat for career Q&A
  • Check Career Fit for role compatibility

5. Track Applications

  • Use Application Tracker to manage applications
  • Update status (Saved, Applied, Interview, Offer, Rejected)
  • Add notes and follow-up reminders

6. View Analytics

  • Check Analytics Dashboard for insights
  • Monitor skill distribution and growth
  • Track application success rates

πŸ“Έ Screenshots

Main Dashboard

Dashboard Central hub for navigating all features

Resume Parser

Resume Parser AI-powered resume extraction and analysis

Job Matcher

Job Matcher Intelligent skill matching with gap analysis

Analytics Dashboard

Analytics Comprehensive career analytics and insights

πŸ“Έ Note: Screenshots will be added in Phase 6. For now, placeholders are shown.


πŸ“ Project Structure

hireflow-ai/
β”œβ”€β”€ app.py                          # Main Streamlit entry point
β”œβ”€β”€ requirements.txt                # Python dependencies
β”œβ”€β”€ .env.example                    # Environment variable template
β”œβ”€β”€ .gitignore                      # Git ignore rules
β”œβ”€β”€ LICENSE                         # MIT License
β”œβ”€β”€ README.md                       # This file
β”œβ”€β”€ Dockerfile                      # Container build
β”œβ”€β”€ docker-compose.yml              # Container orchestration
β”‚
β”œβ”€β”€ data/                           # Database and uploads
β”‚   └── .gitkeep                    # Ensure directory exists
β”‚
β”œβ”€β”€ docs/                           # Documentation
β”‚   β”œβ”€β”€ architecture.md             # System architecture
β”‚   β”œβ”€β”€ installation.md             # Installation guide
β”‚   β”œβ”€β”€ api-reference.md            # API documentation
β”‚   β”œβ”€β”€ user-guide.md               # User guide
β”‚   β”œβ”€β”€ developer-guide.md          # Developer guide
β”‚   β”œβ”€β”€ roadmap.md                  # Project roadmap
β”‚   β”œβ”€β”€ deployment/                 # Deployment guides
β”‚   β”‚   β”œβ”€β”€ railway.md
β”‚   β”‚   β”œβ”€β”€ render.md
β”‚   β”‚   └── streamlit.md
β”‚   β”œβ”€β”€ audits/                     # Audit reports
β”‚   β”‚   β”œβ”€β”€ AUDIT_REPORT.md
β”‚   β”‚   └── PRODUCT_AUDIT_REPORT.md
β”‚   β”œβ”€β”€ project/                    # Project management docs
β”‚   β”‚   β”œβ”€β”€ CHANGELOG.md
β”‚   β”‚   β”œβ”€β”€ VERSIONING.md
β”‚   β”‚   β”œβ”€β”€ RELEASE_NOTES.md
β”‚   β”‚   β”œβ”€β”€ elevator-pitch.md
β”‚   β”‚   β”œβ”€β”€ linkedin-content.md
β”‚   β”‚   └── resume-projects.md
β”‚   β”œβ”€β”€ security/                   # Security documentation
β”‚   β”‚   └── SECURITY.md
β”‚   └── contributing/               # Community guidelines
β”‚       β”œβ”€β”€ CONTRIBUTING.md
β”‚       └── CODE_OF_CONDUCT.md
β”‚
β”œβ”€β”€ pages/                         # Streamlit multi-page modules
β”‚   β”œβ”€β”€ Resume_Parser.py
β”‚   β”œβ”€β”€ Job_Matcher.py
β”‚   β”œβ”€β”€ Job_Discovery.py
β”‚   β”œβ”€β”€ Skill_Gap.py
β”‚   β”œβ”€β”€ Career_Assistant.py
β”‚   β”œβ”€β”€ Application_Tracker.py
β”‚   β”œβ”€β”€ Analytics_Dashboard.py
β”‚   └── Learning_Dashboard.py
β”‚
β”œβ”€β”€ src/                           # Core application logic
β”‚   β”œβ”€β”€ agents/                    # AI agents
β”‚   β”œβ”€β”€ ai/                        # AI integration
β”‚   β”œβ”€β”€ api/                       # API endpoints
β”‚   β”œβ”€β”€ database/                  # Database layer
β”‚   β”œβ”€β”€ jobs/                      # Job processing
β”‚   β”œβ”€β”€ services/                  # Business logic
β”‚   β”œβ”€β”€ utils/                     # Utilities
β”‚   β”œβ”€β”€ database.py
β”‚   β”œβ”€β”€ matcher.py
β”‚   β”œβ”€β”€ parser.py
β”‚   β”œβ”€β”€ gemini.py
β”‚   └── utils.py
β”‚
β”œβ”€β”€ tests/                         # Test suite
β”‚   β”œβ”€β”€ test_job_connectors.py
β”‚   β”œβ”€β”€ test_phase4_services.py
β”‚   β”œβ”€β”€ test_job_discovery_engine.py
β”‚   β”œβ”€β”€ debug_job_discovery.py
β”‚   └── validation_test_matcher.py
β”‚
β”œβ”€β”€ reports/                       # Generated reports
β”‚   └── validation_report.json
β”‚
└── resume-analyzer/               # Frontend app (Next.js)
    β”œβ”€β”€ .gitignore
    β”œβ”€β”€ package.json
    β”œβ”€β”€ next.config.js
    └── src/

πŸ”Œ API Overview

REST API Endpoints

Jobs API

  • GET /api/jobs - List all jobs with filters
  • GET /api/jobs/{id} - Get job details
  • POST /api/jobs/search - Search jobs
  • GET /api/jobs/sources - List job sources

Resume API

  • POST /api/resume/upload - Upload resume
  • GET /api/resume/{id} - Get resume details
  • POST /api/resume/parse - Parse resume text

Alerts API

  • GET /api/alerts - Get user alerts
  • POST /api/alerts - Create alert
  • PUT /api/alerts/{id}/read - Mark as read

Tracker API

  • GET /api/applications - List applications
  • POST /api/applications - Create application
  • PUT /api/applications/{id} - Update application status

API Documentation

Detailed API documentation is available in docs/api-reference.md


πŸ—ΊοΈ Future Roadmap

Version 1.1 (Q3 2026)

  • User authentication and authorization
  • Email notifications for job alerts
  • Export to PDF/Excel functionality
  • Mobile-responsive design improvements
  • Advanced filtering options

Version 1.2 (Q4 2026)

  • Real-time job updates with WebSocket
  • Integration with LinkedIn API
  • Collaborative features for teams
  • Advanced analytics with ML insights
  • Performance optimization and caching

Version 2.0 (Q1 2027)

  • Mobile app (React Native)
  • Premium subscription tier
  • Company profiles and reviews
  • Salary estimation tool
  • Video interview preparation

Version 2.1 (Q2 2027)

  • AI-powered cover letter generation
  • Resume templates and builder
  • Community features and forums
  • Integration with ATS systems
  • White-label solution for companies

🀝 Contributing

We welcome contributions from the community! Please read our CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

How to Contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow PEP 8 style guidelines
  • Add type hints to all functions
  • Write tests for new features
  • Update documentation as needed
  • Keep commits focused and atomic

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

MIT License Summary

  • βœ… Free to use for personal and commercial projects
  • βœ… Free to modify and distribute
  • βœ… No warranty or liability
  • βœ… Must include license and copyright notice

πŸ‘¨β€πŸ’» Author

Jayesh

Acknowledgments

  • Google Gemini API for AI capabilities
  • Streamlit team for the amazing framework
  • Open source community for various libraries

πŸ“Š Project Stats

  • Total Files: 70+ Python files
  • Lines of Code: 15,000+
  • Test Coverage: Expanding
  • API Endpoints: 15+
  • Job Sources: 6 platforms
  • Skill Categories: 12 categories
  • Supported Formats: PDF, JSON

πŸ™ Support

If you find this project helpful, please consider:

  • ⭐ Starring the repository on GitHub
  • πŸ› Reporting bugs via Issues
  • πŸ’‘ Suggesting features via Discussions
  • πŸ“’ Sharing with your network

πŸ“ž Contact

For questions, support, or collaboration:


Built with ❀️ for the developer community

⬆ Back to Top

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages