⚡ n8n Orchestrated 🤖 AI Match Intelligence 🚀 13 Platforms Connected

AI-Powered Job Search Automation

An autonomous, end-to-end cloud platform that aggregates vacancies across 13 job portals, scores candidate fit with LLMs, tracks applications with real-time ribbons, and dispatches personalized cold emails with attached resumes.

13 Portals
Concurrent Scrapers
<45 sec
Full Scan Retrieval
100% DevOps
Clean Heuristic Filter
3x Higher
Recruiter Response Rate

The 9-Step Autonomous Workflow

From initial role configuration to multi-portal discovery, deduplication, AI scoring, recruiter extraction, and automated delivery.

AI-Powered Job Search Automation Architecture
Automate • Analyze • Find the Right Opportunities (n8n Central Orchestrator)
AI-Powered Job Search Automation Workflow
1

Input Job Role

Define target designations, core toolings, and location preferences (Indian IT hubs like Kochi, Bangalore, Hyderabad, Trivandrum, Pune, or Global Remote).

DevOps Engineer SRE Cloud Architect AWS / Azure
2

Search Multiple Sources

Executes parallel scraping across 13 major platforms with dedicated quotas so no single platform is starved.

LinkedIn Indeed Naukri Glassdoor Infopark Technopark
3

Collect & Normalize

Converts unstructured HTML, JSON feeds, and ATS tables into a clean, unified data model with sanitized company and salary fields.

FastAPI Async Dual-Layer Fallback Schema Standard
4

Remove Duplicates

Computes deterministic MD5 fingerprint hashes of company, title, and location to eliminate duplicate postings across cross-listed portals.

MD5 Hash Fuzzy Match 0 Redundancy
5

AI Job Analysis

Parses the full job description using Groq / Llama 3.3 70B, Google Gemini, or GPT-4o-mini to extract skills, seniority, and cloud architecture requirements.

Llama 3.3 70B Gemini 1.5 GPT-4o Strict DevOps Rule
6

Skill Matching & Score

Evaluates alignment between candidate profile and job requirements, calculating a 0–100% fit score and generating a concise match summary.

0–100% Fit Missing Skills Strength Matrix
7

Recruiter Extraction

Extracts recruiter names, corporate HR email addresses, and phone numbers from posting bodies for direct outreach.

HR Email Hiring Manager WhatsApp / Phone
8

Generate Report & Track

Syncs to Google Sheets and generates an auto-formatted Excel workbook (.xlsx) with hyperlinks, while recording real-time application states.

Google Sheets Excel (.xlsx) Real-time ATS
9

Daily Notifications & Outreach

Delivers formatted HTML email digests, priority Telegram alerts for high fit (≥80%), and dispatches tailored cold pitches with attached PDF resumes via Gmail.

HTML Digest Telegram Alert 1-Click Gmail

Used Technologies & Tools

Enterprise tools and modern cloud technologies powering end-to-end automation, high-speed scraping, and reactive user interfaces.

⚙️ Workflow Orchestration & Cloud Infrastructure
n8n Workflow Engine
Low-Code Central Orchestrator
AWS EC2
Ubuntu Cloud Host (t3.small)
Docker & Compose
Multi-Container Deployment
Caddy Reverse Proxy
Automated SSL / TLS 1.3
🧠 AI Matching, Backend Microservices & Frontend UI
Next.js 16 (React 19)
Modern Glassmorphism UI
Python FastAPI
Async Scraper Microservice
Llama 3.3 / Gemini / GPT-4o
AI Skill & Relevance Scoring
Gmail API + PDFKit
Cold Outreach & Resume Attach
📊 Reporting & Target Job Platforms
Excel (.xlsx) & Sheets
Automated Formatted Reporting
13 Job Portals
LinkedIn, Indeed, Infopark, etc.

Automated ATS & Cold Recruiter Studio

Never duplicate an application again. The platform tracks your submissions and powers direct outreach from your browser.

✓ Real-time "Already Applied" Ribbons

Every job card dynamically checks your tracking sheet (Google Sheets & local database) using fuzzy company name normalization to prevent duplicate applications.

  • ✓ Auto-Mark on Portal Click: Clicking "Apply on Portal" immediately turns the card green and marks it as applied.
  • ✓ Historical Sync: Automatically links past applications (Litmus7, Urolime, Enfin, Seqato) on page load.
  • ✓ 1-Click Manual Toggle: Use "+ Mark as Applied" anytime to track external submissions from your phone.
  • ✓ Explorer Filters: Isolate applied jobs or click "Hide Applied" to view only fresh openings.

Step-by-Step Installation & Setup

Complete guide to running the entire stack on AWS EC2 with Docker Compose, automated SSL certificates, and n8n webhooks.

1
Provision AWS EC2 Host & Firewall
Infrastructure

Launch an Ubuntu 24.04 LTS instance (type t3.small or t3.medium). Configure your Security Group inbound rules to allow:

EC2 Security Group Ports
Port 22   (SSH)          -> Your IP
Port 80   (HTTP)         -> 0.0.0.0/0 (Caddy ACME Challenge)
Port 443  (HTTPS)        -> 0.0.0.0/0 (Production Secure Web Traffic)
2
Clone Repository & Install Docker
Server Init

SSH into your EC2 instance and run the one-line Docker setup:

bash
# Install Docker and Docker Compose v2
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
newgrp docker

# Clone repository
git clone https://github.com/Xopscloud/job-search-automation.git
cd job-search-automation
3
Configure Environment Variables (.env)
Configuration

Create your environment configuration file in the project root:

.env
# Domain & Caddy SSL
DOMAIN_NAME=devopspulse.yourdomain.com
ACME_EMAIL=your-email@gmail.com

# n8n Workflow Settings
N8N_PORT=5678
N8N_HOST=devopspulse.yourdomain.com
N8N_PROTOCOL=https
WEBHOOK_URL=https://devopspulse.yourdomain.com/

# AI Matcher API Keys (Choose one or multiple)
OPENAI_API_KEY=sk-...
GROQ_API_KEY=gsk_...
GEMINI_API_KEY=AIza...

# Email & Outreach
GMAIL_USER=your-email@gmail.com
RECIPIENT_EMAIL=your-email@gmail.com
4
Start Containers via Docker Compose
Deployment

Build and start all 4 services in detached mode:

bash
# Build and spin up containers
docker compose up -d --build

# Verify container health
docker compose ps
# caddy            Up (0.0.0.0:80, 0.0.0.0:443)
# web-app          Up (3000)
# n8n              Up (5678)
# scraper-service  Up (8000)
5
Import n8n Master Workflow
n8n Setup

Navigate to https://devopspulse.yourdomain.com in your browser. Complete n8n initial admin registration, then:

1. Go to Workflows ➔ Click Add Workflow ➔ Select Import from File.

2. Choose workflows/master_job_search_workflow.json from the repository.

3. Activate the workflow toggle in the top-right corner to start the cron schedule.

Normalized Data Schema

Standard JSON structure output by the scraper microservice and persisted to Google Sheets / Excel.

json — JobPost Data Schema
{
  "job_id": "job_7a8b9c0d1e",
  "title": "Senior DevOps & Cloud Engineer",
  "company": "Litmus7",
  "company_details": "Infopark Kochi Campus",
  "location": "Kochi, Kerala (Hybrid)",
  "match_score": 92,
  "required_skills": ["Kubernetes", "AWS", "Terraform", "CI/CD", "Docker"],
  "experience": "3 - 5 Years",
  "salary": "₹12,00,000 - ₹18,00,000",
  "date_posted": "2026-09-08",
  "job_url": "https://infopark.in/job-details/...",
  "source_website": "Infopark",
  "recruiter_name": "Deepa Nair",
  "recruiter_email": "careers@litmus7.com",
  "recruiter_phone": "+91 484 1234567",
  "match_summary": "Exceptional fit with candidate's hands-on AWS, Kubernetes, and CI/CD background.",
  "is_applied": true,
  "applied_on": "Sep 8, 2026"
}