This project showcases a multi-agent AI system built with Google’s Agent Development Kit (ADK) and Gemini models to automate and enhance the job application process.
Instead of relying on a single chatbot, this system uses multiple specialised AI agents, each responsible for a different task in the job-seeking lifecycle:
-
Job and ATS analysis
-
CV rewriting and optimisation
-
Cover letter generation
-
Interview coaching
-
Similar job discovery (via Google search)
The result is a modular, reusable, and intelligent assistant that converts a job ad + CV into a complete, personalised application package.
Job hunting today is not just about finding a role — it is about strategy, alignment, and precision. Many candidates struggle with:
- Understanding ATS (Applicant Tracking System) requirements
- Identifying key skills from job advertisements
- Tailoring CVs effectively
- Writing targeted cover letters
- Preparing job-specific interview answers
- Discovering similar opportunities efficiently
These steps are repetitive, time-consuming, and depend heavily on experience and insider knowledge.
This problem is especially significant for:
- Career switchers
- International applicants
- Early-career professionals
- Busy job seekers applying to multiple roles
This project introduces a Multi-Agent Job Application Assistant that uses agentic AI to automate and improve the job-seeking workflow.
Instead of a single AI model, the system is divided into specialised agents:
- Agent Name Responsibility
- job_analyst_agent Extracts skills & generates ATS match score
- cvwriter_agent Rewrites CV to match job description
- clwriter_agent Creates a tailored cover letter
- coach_agent Generates interview questions + model answers
- research_agent Finds similar real-world job postings
Each agent has its own role, memory state, and output, and they are coordinated by an orchestration layer.
Below is the system workflow diagram showing how data moves through the multi-agent architecture:
There are two files in the folder.
For the notebook:
Step 1: Set up your API key (securely)
If using Kaggle: Kaggle → Add-ons → Secrets → New Secret Name: GOOGLE_API_KEY Value: [your key]
Your notebook retrieves it securely with:
from kaggle_secrets import UserSecretsClient GOOGLE_API_KEY = UserSecretsClient().get_secret("GOOGLE_API_KEY")
Step 2: Run the notebook
You can run it in: Kaggle Notebook, Jupyter Notebook, or Google Colab
Step 3: Interactive mode
You’ll be prompted:
- Paste your job ad
- Paste current cv
- choose output type: cv, cover_letter, interview, jobs, all
The agents will then execute automatically and return results.
For the app file
The app.py file is a Streamlit-based interface for the Multi-Agent Job Application Assistant. It allows users to interact with the AI system through a simple web UI instead of a notebook.
The app connects to your agents and lets users paste a job description and a CV, then generate tailored outputs such as a revised CV, cover letter, interview guide, and similar job listings.
- Step 1 – Enter your Job Description
- Step 2 – Enter your Current CV
- Step 3 – Choose what to generate: Revised CV, Cover letter, Interview Guide, Similar Jobs, All
- Step 4 - Click the "Generate" button.
- Step 5 – Your results will appear in the app under clearly labelled sections.
The system can generate:
- ✅ ATS keywords + match %
- ✅ Rewritten, role-specific CV
- ✅ Professional cover letter
- ✅ Interview preparation guide
- ✅ Similar live job links
Potential improvements:
- LinkedIn integration
- Dashboard analytics
- Resume PDF export
- Multilingual support
- Better research abilities
- Long-term memory (Database for storage of job application and resumes)
