Skip to content

bucky-ops/Auto-JIPS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Automated Job Intelligence Profiling System (AJIPS)

AJIPS Banner Python FastAPI Production Ready License

AI-Powered Job Posting Analysis with Production-Grade Features

Features β€’ Installation β€’ Usage β€’ API β€’ What's New β€’ Contributing


🎯 Overview

AJIPS is an advanced job posting analysis system that uses AI and NLP to extract skills, identify hidden requirements, and provide expert critiques on job descriptions. It helps both job seekers and recruiters understand job requirements more deeply.

Key Capabilities

  • 200+ Skill Detection: Comprehensive skill database covering programming languages, frameworks, tools, and soft skills
  • Hidden Skill Inference: Discovers implied skills using role-based templates and skill clustering
  • Requirement Critique: Identifies contradictions, unrealistic expectations, and missing information
  • Salary Extraction: Automatically detects and parses salary ranges from job postings
  • Interview Analysis: Identifies interview stages and estimates process timeline
  • Focus Area Analysis: Categorizes requirements into technology domains
  • Resume Matching: Compares your resume against job requirements
  • Quality Scoring: Grades job postings on clarity and completeness
  • Structured Logging: JSON logging for production debugging
  • Rate Limiting: DoS protection with configurable limits

✨ Features

πŸ” Intelligent Skill Extraction

  • Detects technical skills (languages, frameworks, databases, cloud platforms)
  • Identifies soft skills (leadership, communication, teamwork)
  • Recognizes multi-word skills and technology stacks
  • Categorizes skills by domain (Backend, Frontend, DevOps, Data, etc.)

πŸ’‘ Hidden Skill Inference

  • Direct Mapping: Infers related skills based on explicit mentions
  • Role-Based Templates: Applies skill bundles for detected job roles
  • Skill Clustering: Identifies technology stacks (MERN, AWS, ML, etc.)

πŸ’° Salary Intelligence

  • Multi-Format Support: Parses $50k, 50k-100k, $50,000-$100,000 formats
  • Range Detection: Identifies min/max compensation
  • Currency Support: Standardizes salary data

πŸ“‹ Interview Process Analysis

  • Stage Detection: Identifies phone, technical, system design, behavioral stages
  • Round Estimation: Estimates total interview rounds
  • Timeline Extraction: Detects interview process duration

⚠️ Comprehensive Critiques

  • Experience level contradictions (e.g., "entry-level with 5+ years")
  • Technology age vs. experience requirements
  • Vague or ambiguous requirements
  • Missing salary and location information
  • Unrealistic skill combinations
  • Buzzword detection

πŸ“Š Focus Areas

Automatically categorizes requirements into:

  • Backend Development
  • Frontend Development
  • Cloud & Infrastructure
  • Data Engineering
  • Data Science & ML
  • Database Management
  • DevOps & CI/CD
  • Mobile Development
  • Security
  • Project Management

πŸ”’ Production-Grade Features

  • JSON Structured Logging: Integration-ready logging for monitoring
  • Rate Limiting: 30 requests/minute per IP
  • Input Validation: Comprehensive data validation
  • Error Handling: Graceful error recovery
  • Health Checks: /health and /health/detailed endpoints

πŸš€ Installation

Prerequisites

  • Python 3.8 or higher
  • pip package manager

Quick Start

# Clone the repository
git clone https://github.com/bucky-ops/Auto-JIPS.git
cd Auto-JIPS/Automated-Job-Intelligence-Profiling-System-AJIPS--main

# Create virtual environment
python -m venv .venv

# Activate virtual environment
# On Windows:
.venv\Scripts\activate
# On macOS/Linux:
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Run the application
uvicorn ajips.app.main:app --reload

The application will be available at:


πŸ“– Usage

Web Interface

  1. Navigate to http://127.0.0.1:8000
  2. Choose input method:
    • Paste job description text
    • Provide job posting URL
  3. Optional: Add your resume for matching analysis
  4. Click "Analyze Job Posting"
  5. Review comprehensive results:
    • Focus areas with skill breakdown
    • Explicit and hidden skills
    • Requirement critiques
    • Resume match score (if provided)

API Usage

Analyze Job Posting

curl -X POST http://127.0.0.1:8000/analyze \
  -H "Content-Type: application/json" \
  -d '{
    "job_posting": {
      "text": "We are seeking a Senior Backend Engineer with 5+ years of experience in Python, PostgreSQL, and AWS. Must have experience with Docker and Kubernetes."
    },
    "resume_text": "Experienced software engineer with Python, AWS, and Docker expertise..."
  }'

Response Example

{
  "title": "Backend Engineer",
  "summary": "**Backend Engineer** (Senior Level) | Key skills: python, postgresql, aws, docker, kubernetes",
  "focus_areas": [
    {
      "name": "Backend Development",
      "weight": 0.6,
      "skills": ["python", "postgresql", "api"]
    },
    {
      "name": "Cloud & Infrastructure",
      "weight": 0.4,
      "skills": ["aws", "docker", "kubernetes"]
    }
  ],
  "explicit_skills": ["python", "postgresql", "aws", "docker", "kubernetes"],
  "hidden_skills": ["testing", "pip", "pytest", "iam", "vpc", "s3", "containerization"],
  "critiques": [
    {
      "severity": "info",
      "message": "No salary or compensation information provided."
    }
  ],
  "resume_alignment": 0.75
}

πŸ—οΈ Project Structure

ajips/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ api/
β”‚   β”‚   β”œβ”€β”€ routes.py          # API endpoints
β”‚   β”‚   └── schemas.py         # Request/response models
β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”œβ”€β”€ ingestion.py       # URL fetching and parsing
β”‚   β”‚   β”œβ”€β”€ extraction.py      # Skill extraction (200+ skills)
β”‚   β”‚   β”œβ”€β”€ enrichment.py      # Hidden skill inference
β”‚   β”‚   β”œβ”€β”€ critique.py        # Requirement analysis
β”‚   β”‚   β”œβ”€β”€ profiling.py       # Focus area building
β”‚   β”‚   β”œβ”€β”€ normalization.py   # Text processing
β”‚   β”‚   └── resume_match.py    # Resume alignment
β”‚   └── main.py                # FastAPI application
β”œβ”€β”€ core/
β”‚   └── pipelines/
β”‚       └── job_profile.py     # Analysis orchestration
β”œβ”€β”€ ui/
β”‚   β”œβ”€β”€ index.html             # Web interface
β”‚   β”œβ”€β”€ styles.css             # Premium styling
β”‚   └── app.js                 # Frontend logic
└── tests/                     # Unit and integration tests

πŸ”§ API Reference

Endpoints

GET /health

Health check endpoint

Response:

{
  "status": "ok"
}

POST /analyze

Analyze a job posting

Request Body:

{
  "job_posting": {
    "url": "string (optional)",
    "text": "string (optional)"
  },
  "resume_text": "string (optional)"
}

Response: See Response Example above


πŸ§ͺ Testing

Run the test suite:

# Run all tests
pytest

# Run with coverage
pytest --cov=ajips

# Run specific test file
pytest tests/test_extraction.py

🎨 Technology Stack

  • Backend: FastAPI, Python 3.8+
  • NLP: spaCy, scikit-learn, NLTK
  • Data Processing: Pandas, NumPy
  • Web Scraping: BeautifulSoup, Requests
  • Frontend: HTML5, CSS3, Vanilla JavaScript
  • API Documentation: OpenAPI/Swagger

πŸ“Š Skill Database

The system recognizes 200+ skills across categories:

  • Languages: Python, Java, JavaScript, TypeScript, Go, Rust, etc.
  • Web Frameworks: React, Angular, Vue, Django, Flask, FastAPI, etc.
  • Databases: PostgreSQL, MySQL, MongoDB, Redis, etc.
  • Cloud: AWS, Azure, GCP, Heroku, etc.
  • DevOps: Docker, Kubernetes, Terraform, Ansible, etc.
  • Data Tools: Spark, Airflow, Kafka, Tableau, etc.
  • Methodologies: Agile, Scrum, TDD, Microservices, etc.

🀝 Contributing

Contributions are welcome! Please follow these steps:

  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

πŸ“ License

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


πŸ™ Acknowledgments

  • Built with FastAPI
  • NLP powered by spaCy
  • Inspired by modern job market challenges

πŸ“§ Contact

For questions or feedback, please open an issue on GitHub.


Made with ❀️ for job seekers and recruiters

About

The Automated Job Intelligence & Profiling System (AJIPS) is an algorithm-driven platform designed to analyze job postings submitted by users either as links or pasted text and generate deep, structured insights about the role.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors