Multi-source job search
Queries job boards and company career sites at once. Enter a country or city, pick in-person, remote or hybrid, and results are filtered to match.
Paste your LinkedIn link. An AI agent reads your profile, and JobHuntAI matches it against real openings from public job boards and company career sites.
Free · no sign-up · open source
Searches across
One local tool replaces a dozen open tabs and a folder of near-identical CV versions.
Queries job boards and company career sites at once. Enter a country or city, pick in-person, remote or hybrid, and results are filtered to match.
Every role is scored against the skills in your CV, so the best fits rise to the top instead of being buried in a feed.
Your documents are rewritten for each posting, matching the tone of your original cover letter. The AI is instructed to never invent employers, degrees, dates or skills.
Auto-detects local Ollama, LM Studio and llama.cpp servers. Or add a key for OpenAI, Claude, Gemini, Grok or GitHub Models.
Load your CV from a text-based PDF and download results as PDF. Every new job is logged to a CSV with date, country and work mode.
Everything runs on your computer. API keys live in a mode-600 file and are never sent back to the browser. You decide what leaves your machine.
Add your profile link, a location and your preferred work type. Nothing to upload.
It summarises your strengths, lists your skills and writes a CV-style profile used to find matches.
Listings come from public job boards and company career pages, ranked by match. Open any of them in one click.
Point JobHuntAI at an n8n Webhook node — including one on your own VPS — and turn every search or generated application into a workflow: Telegram alerts, Google Sheets rows, Notion cards, email drafts.
text field you can pass straight to an AI Agent node.search.completed (new jobs only) and application.generated.application.generated.{
"id": "3f0c8b6e-…",
"event": "search.completed",
"source": "jobhuntai",
"timestamp": "2026-10-03T12:00:00+00:00",
"text": "JobHuntAI found 7 new job(s) …",
"data": {
"mode": "hybrid",
"location": "Dublin",
"total_found": 42,
"new_count": 7,
"jobs": [
{ "title": "…", "company": "…",
"location": "…", "work_mode": "…",
"url": "…", "score": 92 }
]
}
}
No packages to install. Python 3.9 or newer is all you need.
# get the code
git clone https://github.com/coolasc/JobHuntAI.git
cd JobHuntAI
# start the app
python -m jobhunt
# then open
http://127.0.0.1:8765/app
Then add an AI provider in Settings and, optionally, your n8n webhook URL.
Your link (and any text you paste) goes to an automation workflow where an AI agent analyses it. LinkedIn restricts automated access, so some profiles cannot be read — if that happens, paste your profile text instead. JobHuntAI itself does not store what you submit.
No. Auto-apply generates your CV and cover letter, saves them as text and PDF files, and opens the job page. Submitting third-party application forms is not automated, so you stay in control of what is sent.
Your CV and letters stay on your computer. Text is sent only to the AI provider you choose (nothing leaves your machine if you use a local model) and, if you configure one, to your own webhook.
No. Local servers such as Ollama, LM Studio and llama.cpp are detected automatically. Online providers need your own API key.
Use the Production URL of your Webhook node (/webhook/…) with the workflow activated. The Test URL (/webhook-test/…) only works while n8n is listening for a test event. Use https for any server on the internet.
Free and open source under the Apache-2.0 license.