Skip to content

Repository files navigation

Job Scout

A private, self-hosting job-search dashboard. It searches job boards and LinkedIn for roles that fit you, scores each one 1–10 with a plain-English reason, runs end-to-end resume tailoring, and keeps an unemployment-grade job-search activity log — all running locally on your own computer, with your data in a single SQLite file that never leaves your machine.

Built on Adli Waziri's cowork-job-scout. Adli designed the product — the 1–10 scoring rubric, the smart filtering, the activity log with state unemployment compliance, the configurable scoring penalties, the resume library. This is a re-platform of his tool out of Claude Cowork into a standalone, portable, shareable app, with his explicit blessing ("Do anything you like with it. Would love a more agnostic version."). His product design is preserved throughout; the MIT license and his copyright are kept. Thank you, Adli.

What changed in the re-platform

  • Runs standalone — a small local web server (Node) + SQLite, instead of a Claude Cowork artifact with browser localStorage. Only three small, pure-JavaScript dependencies (docx + pdfkit for resume export, imapflow for the optional email reader); the core needs no native compilation.
  • Portable — built-in node:sqlite (no native compile), runs on macOS / Windows / Linux. Requires Node 24+ (the current LTS).
  • Real job sources — Adli's Cowork board connectors (Dice, Indeed, ZipRecruiter via per-user MCP UUIDs) are replaced by JSearch (one free RapidAPI key covering Indeed/ZipRecruiter/Glassdoor & more) plus a LinkedIn ride-along that reads your own logged-in session, and optional email-alert readers. JSearch runs location-based queries (for on-site and hybrid), remote-only queries, or both — depending on your work arrangement preferences in Settings. A quota-warning banner appears if your monthly free limit is reached. Note: hybrid roles are only reliably identified when using the authenticated LinkedIn ride-along; JSearch and the public LinkedIn source label hybrid jobs as on-site.
  • End-to-end — scoring and resume tailoring run for real (no copy-paste), free on a keyword baseline or via Claude Haiku / a local Ollama model. Keyword scoring gives specific signal-based reasons (e.g. "senior-level title, strong role match") rather than a generic label. Anthropic and JSearch API keys are entered directly in the Settings UI.

Quick start

First time: install Node 24+, then from inside this folder run the installer for your OS:

# macOS / Linux
bash scripts/install.sh

# Windows (PowerShell)
.\scripts\install.ps1

It installs the dependencies and adds a job-scout command. After that:

job-scout serve     # then open http://127.0.0.1:7777

Open the ℹ️ Setup & Help tab in the app (or GETTING-STARTED.md) to connect your job sources, LinkedIn, and scoring. Optional daily auto-refresh: job-scout autostart.

License

MIT — see LICENSE. Original work © Adli Waziri; re-platform © Drew Douglass.

About

Self-hosting job-search dashboard: searches boards + LinkedIn, scores matches 1-10 with a reason, tailors resumes, and keeps an unemployment-grade activity log. All local, your data never leaves your machine. A re-platform of Adli Waziri's cowork-job-scout.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages