I Built a Job Search Agent That Scores 200 Jobs With Local AI — Zero Cloud, Zero Cost

작성자

카테고리:

← 피드로
DEV Community · Anirudh · 2026-07-27 개발(SW)

Anirudh

Job searching is tab hell.

You open LinkedIn, Indeed, RemoteOK, Glassdoor. You re-read the same listings. You copy-paste the same cover letter. You pay $30/month for tools that just aggregate feeds and call it “AI-powered.”

I wanted something better. So I built JobRadar.

What It Does

JobRadar is a CLI tool that searches 8 job sources concurrently and scores every listing against your profile using a local LLM running on your machine.

python -m jobradar -q "python developer" -p profile.yaml

Enter fullscreen mode Exit fullscreen mode

That’s it. Eight boards searched in parallel. Every job scored 0-100. Results saved to CSV. Total time: under a minute.

The Local AI Angle

Every other job search tool I found uses cloud APIs for scoring — OpenAI, Claude, whatever. Which means your resume, your search history, your career preferences all go to someone else’s server. And you pay per token.

JobRadar runs qwen3-1.7b (1.1 GB) on your CPU via Ollama. No API keys. No subscriptions. No data leaving your machine. The AI scores each job on four dimensions:

  • Skills match — do you have what they need?
  • Experience fit — does your level match?
  • Salary fit — does it meet your range?
  • Remote fit — does it match your preference?

Each job gets a score, a rating (Excellent/Good/Fair/Poor), and a reasoning paragraph explaining why.

The 8 Sources

Most job search tools scrape 1-2 boards. JobRadar hits 8 simultaneously:

  1. Remotive — remote jobs
  2. RemoteOK — remote-first jobs
  3. Jobicy — remote jobs with salary data
  4. Himalayas — global remote jobs
  5. Arbeitnow — international jobs
  6. Greenhouse ATS — 15 company career pages (GitLab, Stripe, Figma, etc.)
  7. Ashby ATS — 15 company career pages (OpenAI, Anthropic, Linear, etc.)
  8. LinkedIn — opt-in (may violate ToS)

The Greenhouse and Ashby sources pull directly from company career page APIs. No scraping, no auth, no fragility.

How the Scoring Works

You define a profile YAML:

name: Anirudh
title: Backend Engineer
skills:
- Python
- FastAPI
- PostgreSQL
- Docker
experience_years: 5
salary_min: 120000
remote_ok: true

Enter fullscreen mode Exit fullscreen mode

JobRadar sends each job description plus your profile to the local LLM and gets back structured JSON with scores and reasoning. The model runs on your CPU — no GPU required. On my machine (15GB RAM, no GPU), it processes about 9 seconds per job.

What Makes This Different

Feature JobRadar Cloud-based tools AI scoring Local LLM (free) OpenAI API ($$) Data privacy Stays on your machine Sent to cloud Job sources 8 concurrent 1-3 Web dashboard Yes (Kanban) Depends License MIT Varies Setup time bash setup.sh Account + API key

The Web Dashboard

Beyond the CLI, there’s a FastAPI dashboard with a Kanban-style pipeline to track your applications. Filters, search, config editor — all running locally on port 3000.

Tech Stack

  • Python with Rich for terminal UI
  • Ollama for local LLM inference (or llama.cpp)
  • FastAPI for the web dashboard
  • SQLite for caching
  • requests + BeautifulSoup for scraping

Try It

git clone github.com/ANIRudH-lab-life/job-radar
cd job-radar
bash setup.sh # or setup.ps1 on Windows

# Pick Ollama (recommended)
python -m jobradar -q "python developer" -p profile.yaml

Enter fullscreen mode Exit fullscreen mode

MIT licensed. No vendor lock-in. Your data stays yours.

GitHub: github.com/ANIRudH-lab-life/job-radar

If you find it useful, a star would mean a lot. If you have ideas for improvement, open an issue — I read every one.

원문에서 계속 ↗

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다