Powered by Llama-3.1 AI

Your Job Search,
Fully Automated.

Stop updating spreadsheets manually. Connect your Gmail securely and let our intelligent agents automatically extract, track, and organize your job applications and interviews.

Intelligent Tracking

Built from the ground up to understand the nuances of modern recruitment emails.

AI Powered Extraction

We utilize Groq's blazing fast Llama-3 endpoints to accurately pull company names, roles, and context from unstructured emails.

Secure & Private

Your data is yours. Authenticated directly through Google OAuth, isolated by tenant, with no passwords stored.

Adaptive Learning

Our pre-filter constantly learns. Pure spam and newsletters are ignored aggressively, keeping your dashboard pristine.

Multi-Agent Architecture

How The Agents Work

Every email passes through a pipeline of specialized AI agents β€” each with a single, well-defined job.

1

Ingestion

πŸ“¬
Gmail Sync Service

Securely polls your Gmail inbox via OAuth. Fetches up to N recent emails, strips HTML, extracts headers. Concurrent processing via ThreadPoolExecutor β€” multiple emails are handled in parallel.

Gmail API OAuth 2.0 Thread Pool Header Extraction
2

Gatekeeper

⚑
Pre-Filter Agent No LLM Β· Ultra Fast

Pure keyword matching β€” no LLM call. Scans subject + body against a curated list of hardcoded and learned signal phrases. If a keyword matches β†’ email proceeds to the classifier. If nothing matches β†’ immediately ignored, saving 100% of the LLM cost for that email.

"thank you for applying" β†’ βœ“ PASS    "your amazon order" β†’ βœ— IGNORE
Regex Matching 60+ Phrases Dynamically Reloads
3

Classification

πŸ€–
Classifier Agent Groq Β· Llama 3.1

The LLM brain. Uses Groq's Llama-3.1-8B to read the email and output a structured classification: type, company, role, recruiter name, and a candidate keyword for learning. Guided by a dynamically built prompt that includes past mistakes from the guide file.

βœ“ Applied πŸ”‘ Verification πŸ“… Interview πŸ’» Assessment βœ— Rejection πŸ”” Reminder πŸŽ‰ Offer
4

Specialist Agents β€” Orchestrated by LangGraph

πŸ“‹
Application Agent
APPLIED / OFFER

Reads company and role from the classifier output. No extra LLM call β€” just sets status to applied and enriches metadata.

πŸ“…
Interview Agent
INTERVIEW

Extracts interview date/time, timezone, type (phone/technical/onsite), interviewer names, meeting link, and duration.

πŸ’»
Assessment Agent
ASSESSMENT

Pulls platform (HackerRank, CodeSignal…), assessment link, time limit, due date, and test type from the email.

πŸ”‘
Verification Agent
VERIFICATION

Detects emails requiring action (EEO surveys, email confirmation). Extracts the verification URL, description, and deadline.

πŸ“­
Rejection Agent
REJECTION

Extracts rejection stage (screening/technical/final round), stated reason, and whether future applications are encouraged.

πŸ””
Reminder Agent
REMINDER

Handles follow-up nudges. Extracts the action needed, deadline, and any meeting link. Maps to interviewing status.

5

Persistence

πŸ—„οΈ
DB Writer Agent No LLM Β· Database First

Pure database work β€” no LLM calls. Matches the email to an existing Application using a 3-tier strategy (Company + Role β†’ Company + Sender β†’ Company fallback), then creates or updates the record. Also indexes the email in ChromaDB for future semantic search.

Tier 1
Company + Role
Tier 2
Company + Sender
Tier 3
Company Fallback
6

Self-Learning β€” Background Tasks

🧠
Keyword Learning Agent
keyword_learning_agent.py

After a successful LLM classification, the classifier emits a candidate keyword phrase. This agent asks the LLM to score it from 0–10 β€” how universally job-signal is it?

β‰₯ 7
Saved
< 7
Rejected

Company names and job titles are scored low (1-3) and never saved. Universal phrases like "coding assessment" score 9-10.

πŸ“–
Rule Learning Agent
rule_learning_agent.py

Triggered whenever you manually correct a category. Analyzes the email body, understands what the LLM got wrong, and writes a permanent rule to the guide file.

MISTAKE (IGNORED β†’ REJECTION):
"When email contains 'filled the position', classify as REJECTION even without explicit language..."

The guide file grows over time. Every future LLM call includes these rules, making the system smarter with each correction.

✨

Your Dashboard, Always Up to Date

Every sync is database-first. Your tracker reflects the exact state of your PostgreSQL database β€” any UI action commits to the DB before updating the interface. A full page refresh is always consistent.

● Applied
● Verification
● Interview
● Assessment
● Offered
● Rejected

Ready to Automate?

Join the future of job hunting. No credit card required.

Continue with Google