AI-Powered Job Posting Analysis with Production-Grade Features
Features β’ Installation β’ Usage β’ API β’ What's New β’ Contributing
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.
- 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
- 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.)
- Multi-Format Support: Parses $50k, 50k-100k, $50,000-$100,000 formats
- Range Detection: Identifies min/max compensation
- Currency Support: Standardizes salary data
- Stage Detection: Identifies phone, technical, system design, behavioral stages
- Round Estimation: Estimates total interview rounds
- Timeline Extraction: Detects interview process duration
- 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
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
- 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:
/healthand/health/detailedendpoints
- Python 3.8 or higher
- pip package manager
# 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 --reloadThe application will be available at:
- Web UI: http://127.0.0.1:8000
- API Docs: http://127.0.0.1:8000/docs
- Health Check: http://127.0.0.1:8000/health
- Version Info: http://127.0.0.1:8000/version
- Health Check: http://127.0.0.1:8000/health
- Navigate to http://127.0.0.1:8000
- Choose input method:
- Paste job description text
- Provide job posting URL
- Optional: Add your resume for matching analysis
- Click "Analyze Job Posting"
- Review comprehensive results:
- Focus areas with skill breakdown
- Explicit and hidden skills
- Requirement critiques
- Resume match score (if provided)
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..."
}'{
"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
}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
Health check endpoint
Response:
{
"status": "ok"
}Analyze a job posting
Request Body:
{
"job_posting": {
"url": "string (optional)",
"text": "string (optional)"
},
"resume_text": "string (optional)"
}Response: See Response Example above
Run the test suite:
# Run all tests
pytest
# Run with coverage
pytest --cov=ajips
# Run specific test file
pytest tests/test_extraction.py- 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
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.
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For questions or feedback, please open an issue on GitHub.
Made with β€οΈ for job seekers and recruiters