LinkedIn · Naukri · Instahyre · 30+ portals · India-first

Stop hunting jobs.
Let an agent do it.

JobPilot scans 30+ job portals, scores roles against your resume with ML embeddings, drafts cold emails tailored to each company, and auto-tracks every application — all from a single terminal command.

30+
Portals scanned
1,578
Jobs in 11 sec
100%
Local · Your data
$0
Per month
The pipeline

From discovery to drafted email,
in one command.

6 pipelines orchestrated together. Pipelines 1A and 1B run in parallel. You're the gate at Approve and Send.

1A
ATS Scanner
Greenhouse, Ashby, Lever, Workable. Public APIs, no scraping.
1B
LinkedIn + India ★
LinkedIn jobs · Naukri · Instahyre. Product companies only.
2
Filter
Drops intern / senior / wrong-stack jobs.
3
Score
Heuristic + ML semantic embeddings.
4
Review CSV
Open in Excel/Sheets, mark APPROVED.
★ Human gate
5
Apply + Email
Opens portal URLs. Drafts emails. Optional autofill.
Architecture

7 agents.
Two human gates.

Discovery agents run in parallel. Action agents only touch what you approved. You confirm twice: once on the CSV, once per email.

Discovery — runs in parallel
1A
ATS Scanner
Greenhouse · Ashby · Lever · Workable
Public APIs · no login needed
1B
LinkedIn + India ★
LinkedIn jobs · Naukri · Instahyre
Product companies only · live data
jobs-raw.jsonl  deduped · 7-day window
Scoring
2
Filter + Score
Heuristic rules · ML semantic embeddings · cross-day dedup · product-company filter
YOU: Review CSV  —  human gate #1
Open review-batch.csv · mark APPROVED or SKIP in Excel / Sheets
Action agents — approved rows only
3
Portal Apply
Opens job URLs · autofills forms
Greenhouse / Ashby / Lever
4
Find Contacts
Apollo.io lookup
fills hiring manager name + email
5
Cold Email Agent
reads your projects · picks best-fit · drafts personalised email — never auto-sends
YOU: y / n per email  —  human gate #2
You confirm each draft before it leaves your inbox
6
Email Sender
Gmail API · resume attached
records send to history
7
Inbox Tracker
Scans Gmail for replies
auto-updates Status column
outputs/_history/ applied.jsonl · emailed.jsonl — feeds back into scoring so you never repeat an application across daily runs
The Demo

One command,
full discovery + scoring.

Run it in the morning. Get a scored CSV in 5 minutes.

~/jobpilot — bash
$ ./jobpilot run-all
Starting both scanners in parallel...
━━━ Greenhouse (11 companies) ━━━
vercel: 75 jobs
anthropic: 0 jobs
hightouch: 64 jobs
planetscale: 12 jobs
celonis: 207 jobs
━━━ Naukri ━━━
Query: software-engineer in bangalore → 40 jobs
Query: full-stack-developer in bangalore → 38 jobs
Query: react-developer in bangalore → 35 jobs
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Total fetched: 1578 jobs
After filter: 282 jobs (dropped 1296)
Heuristic scoring done.
Loading model: all-MiniLM-L6-v2 (one-time, 80MB)...
✓ Semantic scoring done (282 jobs, 1.3s).
 
══════════════════════════════════════════════════
Review CSV: outputs/2026-06-28/review-batch.csv
Score >= 4.0 (cold email + apply): 13
Score 3.5-3.9 (portal apply): 50
Score 3.0-3.4 (consider): 38
Score < 3.0 (skip): 181
 
$ open outputs/2026-06-28/review-batch.csv
The Output

A CSV you can actually use.

Opens in Excel, Numbers, Google Sheets. Diff it with git. Filter, sort, approve. Then run the next command.

outputs/2026-06-28/review-batch.csv — Numbers
Score Action Company Title Location YoE Status Approval
4.6 cold_email + apply Nielsen Sports Full Stack Developer (AI & Data Viz) Bengaluru 2-5 years new APPROVED
4.4 cold_email + apply Razorpay SDE-2 Full Stack Bangalore 2-4 years new APPROVED
4.1 cold_email + apply Postman Full Stack Engineer Bangalore 2-5 years new PENDING
3.8 portal_apply Ford Software Engineer Bengaluru 3-8 years new APPROVED
3.6 portal_apply Fingerprintjs Software Engineer JS/TS Bengaluru 2-7 years new PENDING
2.1 skip Accenture Custom Software Engineer Bengaluru 3-8 years SKIP
Features

Built for developers who want control.

Every artifact lands as a flat file on disk. Open in Excel. Diff with git. Pipe into anything.

LinkedIn + India scrapers

Pulls live LinkedIn job data + Naukri & Instahyre. Filters out IT service companies automatically.

DIFFERENTIATOR

Semantic ML scoring

sentence-transformers embeddings match meaning, not keywords. Local, fast, free.

CSV review workflow

Approve, skip, fill contacts in Excel/Sheets. Human gate before any action.

Date-organized outputs

Every run writes to outputs/YYYY-MM-DD/. History preserved by default.

Project-aware cold email

Agent reads your project descriptions, drafts email tailored to the JD, shows you a sample, asks y/n.

NEW

Inbox auto-tracker

Scans Gmail for "thank you for applying" replies, auto-updates Status column.

ATS autofill

Greenhouse / Ashby / Lever forms autofilled. You review + click Submit.

Apollo contact finder

Auto-fills hiring manager emails per company. Optional — works manually too.

Live status dashboard

Both scanners run in parallel with live progress. Real status, not spinners.

Portals

Supported out of the box.

Add more in config/portals.yml.

Greenhouse
Standard ATS
Ashby
Standard ATS
Lever
Standard ATS
Workable
Standard ATS
Cutshort
Coming soon
Wellfound
Coming soon
Get started

60 seconds to your first scored CSV.

Clone the repo, fill your profile, run one command.