Skip to content

YashRM27/job-research-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 Job Application Assistant

An AI-powered multi-agent system that generates a complete job application package — deployed as a cloud-native application with Docker, OpenShift, Ansible, and GitHub Actions CI/CD.

🌐 Live Demo

Live on OpenShift

🎯 What it does

Input a company name, job role, and your name — 4 AI agents collaborate to generate:

Output Description
🔍 Company Research Report Culture, values, requirements, recent news
📄 Personalized Cover Letter 250–350 words, tailored to the company
🎯 Interview Prep 5 likely questions with tips on how to answer
📧 Formal Cold Email Ready to send to the hiring manager on LinkedIn

🛠️ Tech Stack

AI & Application

Tool Purpose
CrewAI Multi-agent orchestration framework
Groq (LLaMA 3.3 70B) LLM for agent reasoning and writing
Serper API Real-time web search tool
LiteLLM LLM provider interface
Streamlit Interactive web UI
Python 3.11 Core language

DevOps & Cloud

Tool Purpose
Docker Containerization
Docker Hub Image registry
OpenShift Enterprise Kubernetes platform
Ansible Deployment automation
GitHub Actions CI/CD pipeline

🏗️ Project Structure

job-research-agent/
├── src/
│   ├── __init__.py
│   ├── agents.py           # 4 Agent definitions
│   └── tasks.py            # 4 Task definitions
├── k8s/
│   ├── deployment.yaml     # OpenShift deployment manifest
│   ├── service.yaml        # Service manifest
│   └── route.yaml          # Route manifest for public URL
├── ansible/
│   └── playbook.yml        # Ansible deployment playbook
├── .github/
│   └── workflows/
│       └── deploy.yml      # GitHub Actions CI/CD pipeline
├── app.py                  # Streamlit UI
├── Dockerfile              # Container definition
├── requirements.txt        # Python dependencies
├── .env                    # API keys (not pushed to GitHub)
├── .gitignore
└── README.md

🚀 How it works

AI Pipeline

User Input (Company + Role + Name)
            ↓
Researcher Agent → Searches web → Research Report
            ↓
Writer Agent → Reads research → Cover Letter
            ↓
Coach Agent → Reads research → 5 Interview Questions + Tips
            ↓
Emailer Agent → Reads research → Formal Cold Email
            ↓
All 4 outputs displayed in Streamlit tabs

DevOps Pipeline

git push → GitHub Actions triggers
            ↓
Docker build → Docker Hub push
            ↓
oc apply manifests → OpenShift deployment
            ↓
Live on OpenShift public URL

⚙️ Setup & Installation

Local Development

1. Clone the repository

git clone https://github.com/YashRM27/job-research-agent.git
cd job-research-agent

2. Install dependencies

pip install -r requirements.txt

3. Create a .env file

GROQ_API_KEY=your_groq_api_key_here
SERPER_API_KEY=your_serper_api_key_here

4. Run the Streamlit app

streamlit run app.py

Docker

docker build -t job-research-agent .
docker run -p 8501:8501 --env-file .env job-research-agent

OpenShift Deployment

# Login to OpenShift
oc login --token=YOUR_TOKEN --server=YOUR_SERVER

# Create secrets
oc create secret generic api-keys \
  --from-literal=GROQ_API_KEY=your_key \
  --from-literal=SERPER_API_KEY=your_key

# Apply manifests
oc apply -f k8s/deployment.yaml
oc apply -f k8s/service.yaml
oc apply -f k8s/route.yaml

# Check status
oc get pods
oc get route

Ansible Deployment

ansible-playbook ansible/playbook.yml

🔄 CI/CD Pipeline

Every git push to main automatically:

  1. Builds Docker image
  2. Pushes to Docker Hub
  3. Deploys to OpenShift
  4. Verifies deployment status

Required GitHub Secrets

DOCKERHUB_USERNAME
DOCKERHUB_TOKEN
OPENSHIFT_TOKEN
OPENSHIFT_SERVER

🔑 Get Free API Keys


🔮 Future Improvements

  • RAG — upload resume PDF for personalized output
  • Support multiple output formats (PDF, DOCX)
  • Email sending integration
  • Job fit score based on resume vs job description
  • Fix CrewAI non-root permission conflict on OpenShift
  • Add persistent volume for ChromaDB storage
  • Horizontal pod autoscaling
  • Multi-environment deployment (dev / staging / prod)

About

AI-powered job application generator using CrewAI & Groq — containerized with Docker and deployed on OpenShift via GitHub Actions CI/CD.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors