Dev.to AI πŸ€– Ai πŸ‘ 0 πŸ“– 2 min read

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

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-power

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

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

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

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.

πŸ“° Read the original article on Dev.to AI

Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes β€” full credit and traffic to the original publisher.