Skip to content
AgentThread
Open Source#job-search#local-first#career#self-hosted#resume

The Free, Local-First Alternative to LinkedIn Premium and Teal

A job-hunt workbench that scrapes roles across LinkedIn, Indeed, Glassdoor, and dozens more, ranks fit against your resume, and drafts tailored cover letters — all on your own laptop. No account. No subscription. No AI service reading your resume.

AgentThread9 min read
Share

If you're job-hunting and you've paid for LinkedIn Premium, Teal, Simplify, or one of the "AI auto-apply" tools and felt like you were feeding a black box your entire career history for a slightly better keyword filter — JustHireMe is the free, self-hosted install to try instead. It does the same three jobs (find roles, rank fit, tailor a cover letter) without ever sending your resume, salary history, or the fact that you're looking off your laptop.

Every LLM step can run for free using either Ollama (a free app that runs AI models on your laptop) or your existing Claude Code / Codex CLI subscription. No new API key required to make it useful.

At a glance

FactValue
Where it livesgithub.com/vasu-devs/JustHireMe
Popularity2,168 stars on GitHub (roughly, likes) — observed 2026-07-19
LicenseAGPL v3 — free for personal job hunting and team use; only tricky if you plan to fork it into a paid product
Maintained?Yes — last commit yesterday (2026-07-18); v1.4.0 shipped 2026-07-02
Install pathWindows, macOS, or Linux installer from GitHub Releases
Works withRuns standalone. Also plugs into Claude Code, Codex, and any assistant that speaks MCP
Setup~5 min to install; a one-time runtime download on first launch
CostFree — works with a local model (Ollama) or your existing Claude Code / Codex CLI plan; no new API key needed

What it actually is

A desktop app you install once and use like a personal job-search analyst. The workflow is: import your resume (PDF, DOCX, LinkedIn zip, JSON Resume export, or a paste), point it at the boards you care about (LinkedIn, Indeed, Glassdoor, Hacker News, RSS feeds from company career pages, Reddit, custom sources), and let it scrape overnight. In the morning you get a scored pipeline: which roles are worth a real application, which are noise, and why for each.

For the roles you decide to pursue, one click generates a resume tailored to that job, a cover letter, a founder-style short outreach message, a LinkedIn connection note, and a cold email — all as PDFs on your machine. It also gives you a keyword-coverage report so you can see what the tailored package emphasized and what it left out.

The whole thing runs locally. Your resume never touches a cloud. Job board cookies stay in the local browser. When a role gets scored, the reasoning is derived from a local knowledge graph of your own skills and projects, not from calling out to an inference API with your CV in the payload.

What you get

  • Scraper across many boards — company pages, RSS feeds, Hacker News, GitHub-style sources, Reddit, custom sources, and a browser-based fallback for anything else
  • Deterministic quality gate — before a role hits your pipeline, stale postings, thin descriptions, senior-only in beginner feeds, red flags like "unpaid" or "commission only," and missing company context all get filtered
  • Explainable fit ranking — every score is backed by a proof from your own skills-and-projects graph. Click into any role and see why it scored the way it did
  • Local semantic matching — a bundled offline model matches your resume against job descriptions with no external service call
  • Field-agnostic scoring — works for healthcare, trades, finance, law, education, hospitality, creative, and software. Scoring is relative to your own domain vocabulary, not a fixed tech-only stack
  • Tailored document generator — resume PDF, cover letter PDF, founder outreach message, LinkedIn note, and cold email, all tuned to the specific role
  • Keyword coverage report — after generating a package, you see which job-description keywords your resume emphasized and which of your projects were selected as evidence
  • Auto-updating desktop app — light and dark themes, updates itself from GitHub releases when a new version ships
  • Free LLM by default — Ollama runs locally on your machine, and your existing Claude Code or Codex CLI subscription counts as an LLM provider too. 15+ paid providers (OpenAI, Anthropic, Gemini, Groq, DeepSeek, and more) are optional
  • Agent skill and MCP server — MCP (the standard way AI agents connect to tools) means Claude Code, Codex, or any assistant that speaks the protocol can call JustHireMe directly. The repo ships an agent skill at skills/justhireme/SKILL.md and a local MCP server exposing three tools

Why this matters for anyone who's job-hunting right now

Three things make JustHireMe different from every commercial job-hunt tool you've probably tried.

First, your resume stays on your laptop. LinkedIn Premium, Teal, Huntr, Simplify, and every AI auto-apply tool need your resume, salary expectations, and often your entire application history on their servers to work. That's fine when you trust the vendor. It becomes a problem the moment your employer subscribes to the same tool for its recruiting team, or the vendor gets acquired, or you decide you don't want a permanent record of "was applying for jobs in July 2026" tied to your professional identity.

Second, it's actually free, not freemium. LinkedIn Premium is $30-60/month. Teal, Simplify, and Huntr all have paid tiers unlocking the useful features. Auto-apply tools like LazyApply charge $30-100/month. JustHireMe is free forever, uses your existing Claude Code or Codex CLI subscription as the LLM (no new API cost), and offers Ollama as the fully-offline alternative.

Third, the fit scoring is explainable. Every commercial job-matching tool gives you a number and a rank. Ask why role X ranked above role Y and you get nothing back — the model decided. JustHireMe uses a graph of your own skills and projects as the reasoning substrate, so when it says "82% fit," it can point at the specific skills, projects, and job-description keywords that produced that score.

How it compares to LinkedIn Premium, Teal, and the auto-apply tools

  • LinkedIn Premium — the incumbent. Better direct-message reach and hiring-manager visibility. LinkedIn wins if your target roles come primarily through recruiter DMs; JustHireMe wins if you want to survey the full market across many boards, keep your search private, and stop paying $30-60/month for search filters.
  • Teal — the closest philosophical match. Teal is a cloud-based job-search CRM with a browser extension for tracking applications. Same job-to-be-done, opposite architecture: Teal keeps everything in their cloud so you get sync across devices; JustHireMe keeps everything on your laptop so nothing leaves. Teal's resume-tailoring is a paid feature; JustHireMe's is included.
  • Huntr — job-tracker Kanban board with an AI resume matcher. Nicer to look at, has team features JustHireMe doesn't. JustHireMe wins on multi-board scraping, local privacy, and the fact that you can inspect the code that scored your resume.
  • Simplify / LazyApply / Loopcv — the auto-apply tools. Different bet: apply to hundreds of jobs on autopilot and see what sticks. JustHireMe explicitly rejects that pattern — if you want quality over volume, JustHireMe; if you want a firehose, use one of these.
  • Rezi.ai — pure resume-tailoring, no job search. JustHireMe replaces it because tailoring is included and targets the specific job you're applying to.

Verdict

Install if you're job-hunting now (or expect to be within six months) and any of these apply: you're paying for LinkedIn Premium or Teal and rethinking the value, you're uncomfortable with your resume living in someone else's cloud, you already use Claude Code or Codex CLI so the LLM cost is zero, or you want to see why a job matched instead of just being handed a rank.

Skip if: you need cloud-sync across devices (JustHireMe is single-device), you rely on recruiter DMs as your primary channel (LinkedIn Premium is better at that job), or you want to spray applications on autopilot — this app is built for the opposite reader.

One thing to know about the license. AGPL v3 is a copyleft license — that just means if you modify the code and offer the modified version to other people over a network, the modifications have to be open-sourced too. Using JustHireMe on your laptop to hunt for jobs is fine. Using it as an internal tool at a company is fine. The only restricted case is taking the code, modifying it, and offering the modified version as a hosted product. If you're not planning to launch "JustHireMeCloud," the license is a non-issue.

For your agent to install this

You can skip this section — it's the install details your AI agent needs. If you're using Claude Code, Codex, or Cowork, say "install JustHireMe for me" and the agent will read the tables below.

System / OS

  • Desktop app (recommended for job seekers): Windows (.exe), macOS (.dmg for Apple Silicon), Linux (.deb + AppImage). Download from github.com/vasu-devs/JustHireMe/releases/latest
  • First launch downloads a one-time runtime pack (browser + vector libraries + embedding model) over HTTPS and caches it. Installer stays small (~100 MB); the cached runtime is around 300-600 MB and reused across updates
  • Development setup (only if you want to modify the code): Node.js 24, Python 3.13+, Rust stable, uv, Git

API keys — required for any use

None. JustHireMe is designed to run with zero paid API keys. Every LLM step defaults to one of these free options:

Free LLM optionNotes
Ollama running locallyFully offline, no account
Claude Code CLI subscriptionYour existing Anthropic subscription counts as the LLM provider
Codex CLI subscriptionSame, for OpenAI subscribers

API keys — optional (per specific use case)

Paid providers are available if you prefer their models. Add any of the following in the app's Settings → LLM Providers panel:

Env var / configFeature it enablesWhere to get it
OPENAI_API_KEYGPT-family models for ranking + generationplatform.openai.com
ANTHROPIC_API_KEYClaude models (alternative to the CLI subscription route)console.anthropic.com
GEMINI_API_KEYGoogle Gemini modelsaistudio.google.com
GROQ_API_KEYGroq's fast inference for open-weight modelsconsole.groq.com
DEEPSEEK_API_KEYDeepSeek modelsplatform.deepseek.com

15+ other providers are supported through the common provider abstraction — full list in the app settings.

MCP server (for agents)

The repo ships a local MCP server at backend/mcp_server.py exposing three tools any Claude Code / Codex / Cowork instance can call:

ToolWhat it does
score_job_fitScore a raw job posting against a candidate profile
evaluate_lead_qualityRun the deterministic quality gate for a normalized lead
extract_lead_intelExtract company, location, budget, urgency, stack, and signal quality from lead text

Start it after installing backend dependencies (cd backend && uv sync --dev), then point your MCP-speaking client at backend/.venv/bin/python backend/mcp_server.py (macOS/Linux) or the equivalent Windows venv path. Full setup: docs/MCP.md.

First-run

Open the app, import your resume (drag and drop the PDF or DOCX), let it build the local skills-and-projects graph (~30 seconds), then head to Discovery and add the boards you want to scrape. Overnight it fills the pipeline; morning you review. That's the loop.

Related posts