Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

42 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ ATS Multi-Cloud AI Platform


AI-Powered Applicant Tracking System (ATS) deployed on AWS and integrated with Google Gemini AI for intelligent resume analysis, keyword extraction, skill matching, and candidate evaluation.


πŸ’Ό Business Problem

Recruiters and hiring managers often spend hours manually screening resumes against job descriptions.

Common challenges:

  • Manual candidate evaluation
  • Time-consuming resume screening
  • Missing qualified candidates
  • Skill gap identification
  • Inconsistent assessment process

πŸ’‘ Solution

The ATS Multi-Cloud AI Platform automates the recruitment screening process using Generative AI.

The application:

  • Uploads candidate resumes (PDF)
  • Extracts resume content
  • Analyzes job descriptions
  • Identifies relevant skills
  • Calculates job match percentage
  • Detects missing skills
  • Generates AI-powered recommendations
  • Produces recruiter-ready evaluations

☁️ Multi-Cloud Architecture


πŸ“ Text-Based Architecture

Recruiter
    β”‚
    β–Ό
Upload Resume (PDF)
    β”‚
    β–Ό
AWS EC2
(Streamlit ATS Application)
    β”‚
    β”œβ”€β”€ Resume Parsing (PyPDF)
    β”œβ”€β”€ Job Description Processing
    └── Request Handling
    β”‚
    β–Ό
Google Gemini AI
    β”‚
    β”œβ”€β”€ Skill Extraction
    β”œβ”€β”€ Keyword Analysis
    β”œβ”€β”€ Match Percentage
    └── Candidate Evaluation
    β”‚
    β–Ό
ATS Evaluation Engine
    β”‚
    β”œβ”€β”€ Missing Skills
    β”œβ”€β”€ Strength Analysis
    β”œβ”€β”€ Match Score
    └── Hiring Recommendation
    β”‚
    β–Ό
Recruiter Dashboard

πŸ— Architecture Overview

Component Purpose
AWS EC2 Hosts Streamlit ATS Application
Streamlit User Interface
PyPDF Extract Resume Content
Gemini AI Skill Analysis & Evaluation
Google Cloud API AI Processing
Recruiter Dashboard Final Candidate Assessment

Cloud Responsibilities

AWS

  • Application Hosting
  • Resume Processing
  • User Interaction
  • Runtime Environment

Google Cloud

  • Generative AI Processing
  • Candidate Evaluation
  • Skill Extraction
  • Match Percentage Analysis

🌟 Project Highlights

βœ… Multi-Cloud Integration (AWS + Google Cloud)

βœ… AI-Powered Resume Analysis using Gemini AI

βœ… Automated Skill Matching & Candidate Evaluation

βœ… Real-Time Resume Processing

βœ… AWS EC2 Deployment

βœ… Streamlit-Based Web Interface

βœ… PDF Resume Parsing with PyPDF

βœ… Recruiter-Friendly Candidate Assessment


πŸ”„ Request Flow


βš™οΈ ATS Workflow


πŸ›  Technology Stack

Category Technology
☁️ Cloud Platform AWS EC2
πŸ€– AI Engine Google Gemini AI
🐍 Programming Language Python
🎨 Frontend Streamlit
πŸ“„ Document Processing PyPDF
πŸ” Authentication API Key
🌐 Version Control Git & GitHub
πŸ’» Operating System Ubuntu Linux

## πŸ“‚ Repository Structure

```text
ATS-Multi-Cloud-AI-Platform/
β”‚
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ app.py
β”‚   β”œβ”€β”€ index.html
β”‚   β”œβ”€β”€ requirements.txt
β”‚   └── packages.txt
β”‚
β”œβ”€β”€ architecture/
β”‚   β”œβ”€β”€ multicloud-architecture.png
β”‚   β”œβ”€β”€ request-flow.png
β”‚   └── ats-workflow.png
β”‚
β”œβ”€β”€ screenshots/
β”‚   β”œβ”€β”€ 02-gemini-api-enabled.png
β”‚   β”œβ”€β”€ 03-api-key-created.png
β”‚   β”œβ”€β”€ 04-streamlit-running.png
β”‚   β”œβ”€β”€ 05-ats-homepage.png
β”‚   └── 06-final-result.png
β”‚
β”œβ”€β”€ docs/
β”‚   └── troubleshooting.md
β”‚
└── README.md

πŸ“‹ Prerequisites

  • AWS Account
  • Google Cloud Account
  • Gemini API Enabled
  • Ubuntu EC2 Instance
  • Python 3.x

## πŸ“Š Project Metrics

| Metric | Value |
|---------|---------|
| Cloud Provider | AWS |
| AI Platform | Google Gemini |
| Architecture | Multi-Cloud |
| Deployment Model | EC2 Hosted |
| Resume Format | PDF |
| Frontend | Streamlit |
| Language | Python |

πŸš€ Deployment Guide

Step 1 – Launch EC2

sudo -i

Step 2 – Install Dependencies

apt update
apt install python3-pip python3-venv git -y

Step 3 – Clone Repository

git clone https://github.com/YOUR_USERNAME/ATS-Multi-Cloud-AI-Platform.git
cd ATS-Multi-Cloud-AI-Platform/app

Step 4 – Create Virtual Environment

python3 -m venv .venv
source .venv/bin/activate

Step 5 – Install Packages

pip install -r requirements.txt

Step 6 – Configure Gemini API

mkdir -p .streamlit
vi .streamlit/secrets.toml
GOOGLE_API_KEY = "YOUR_API_KEY"

Step 7 – Start Application

streamlit run app.py --server.port 8501 --server.address 0.0.0.0

Step 8 – Open Security Group

Port 8501 (Custom TCP)

Step 9 – Access Application

http://PUBLIC_IP:8501

πŸ“Έ Application Screenshots

Gemini API Enabled

API Key Configuration

Streamlit Startup

ATS Homepage

Final Evaluation


πŸ” Security Considerations

  • Never commit API keys
  • Restrict Security Group access
  • Rotate compromised credentials
  • Use environment variables where possible
  • Apply least-privilege principles

⚑ Challenges & Learnings

Multi-Cloud Communication

Established secure communication between the AWS-hosted application and the Google Gemini API.

Resume Parsing Accuracy

Handled different resume formats and PDF structures.

AI Prompt Engineering

Designed prompts to generate consistent candidate evaluations and match scores.

Security Configuration

Configured EC2 Security Groups and API authentication securely.

Production Deployment

Managed application deployment and external accessibility on AWS EC2.

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

Anirban Dalui

Cloud & DevOps Engineer

AWS Certified Solutions Architect Associate

Azure DevOps Engineer Expert


⭐ Support

⭐ If you found this project useful, consider starring the repository.

πŸš€ Built to demonstrate Multi-Cloud Architecture, AI Integration, and Cloud Deployment skills.

About

Multi-Cloud AI-powered Applicant Tracking System (ATS) deployed on AWS EC2 and integrated with Google Gemini API for intelligent resume analysis, skill matching, keyword extraction, and candidate evaluation.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages