Local-first AI job ingestion, fit scoring, and resume tailoring pipeline with browser extension & web dashboard.
See the codeBrowse jobs like you always have. Get capture, dedup, fit scores, tailored resumes, and tracking — 100% locally, no terminal, no AI tools required.
Quick Install • Why JobFoundry? • Features • Providers • How It Works • Contributing
⚠️ Active Development / Beta: JobFoundry is built by a solo developer scratching his own itch. The core flows work, but rough edges exist and progress is happening every day. Bug reports, testing, and feedback are deeply appreciated!
Job hunting is stressful enough without new barriers: no accounts, no subscriptions, no CLIs to learn, no prompts to engineer. If you can browse the web, you can use JobFoundry.
Capture where the jobs are visible — your browser:
Server scrapers lose. Your browser wins. Datacenter IPs die against Cloudflare, CAPTCHAs, and login walls. Your authenticated browser session walks straight through — so listings are captured inside the browser you already use.
Zero server scraping. Capture happens in your browser; the server only ever receives already-captured jobs. Full statement: ARCHITECTURE.md.
Zero-token discovery. Reading a public job posting never costs an LLM call — structured data comes from public ATS endpoints, feeds, and markup. Models are spent only where judgment is needed: fit scoring and tailoring.
Truthful tailoring. Your genuine experience, re-ranked and rephrased under strict schema constraints. Never invented employers, skills, or metrics.
The human applies. JobFoundry prepares and prioritizes; it never auto-submits. You review, you click, you apply.
100% local. SQLite storage, zero telemetry, zero tracking. API keys stay on your machine. See SECURITY.md and the privacy guarantees.
jsonresume-theme-folio + ATS plaintext.node scripts/import-career-ops.mjs.| Category | Examples | Count |
|---|---|---|
| Modern ATS | Greenhouse, Lever, Ashby, Workable, SmartRecruiters, BambooHR | 12+ |
| Enterprise ATS | Workday, SuccessFactors, Taleo, iCIMS, Jobvite, Phenom | 11+ |
| Major Job Boards | LinkedIn, Indeed, Dice, Glassdoor, ZipRecruiter, Monster | 8+ |
| Niche & Remote | Wellfound, YC Jobs, We Work Remotely, RemoteOK, Hacker News | 15+ |
| Regional & Feeds | 40+ regional boards, RSS feeds, and aggregators | 40+ |
Browse the full searchable index: Provider Directory. Missing a board? Request it or add it yourself.
Browse normally ──► [ Extension captures ] ──► [ Dedup + Score ] ──► [ Tailor + Track ]
your browser your session, zero SimHash, local LLM truthful resume,
tokens, zero cost fit 0–100 Kanban board
How the pieces fit: ARCHITECTURE.md. How it started: MANIFESTO.md.
JobFoundry didn't start as a startup pitch or a polished product idea — it started because I was broke, exhausted, and desperately trying to get a job in a brutal tech market.
Job hunting right now is soul-crushing. Every tool out there wants a $30/month subscription, tries to lock you into their cloud, or burns expensive LLM tokens reading job descriptions only to hallucinate fake metrics, false skills, and invented employers on your resume. I couldn't afford subscriptions, and I refused to send recruiters hallucinated lies.
So I started hacking together tools to survive my own search. First came a tiny CLI experiment in truthful, zero-token resume tailoring. But I quickly realized that half the struggle was the daily chaos of browsing, tab-hopping, and sifting through duplicate cross-postings across 80+ job boards. That end-to-end loop became JobFoundry: capture straight from the browser session, dedup cross-posts with 64-bit SimHash, score fit with local models, and tailor truthfully under strict schema constraints.
Using it in my own search, I stayed stubbornly selective: letting fit scores filter out low-match noise, and only tailoring and applying to genuine high-fit roles. That focus actually worked, and I ended up receiving multiple job offers.
I don't know whether it was the right decision or the wrong decision, but I decided to take a pause for a couple of months and put my energy into polishing this and open-sourcing it under AGPL-3.0. I wanted to see if the tool that got me through the hardest stretch of my life could help other people going through the exact same struggle.
It is definitely not perfect. Rough edges exist, and active development is happening every single day. But if it saves you hours of burnout, protects your privacy, or helps you land an interview, it will have been completely worth it.
The recommended way to run JobFoundry is containerized via Docker or Podman. The complete stack (Fastify ingest API, React dashboard, LLM scorer, and tailoring engine) starts in seconds:
Run this in your terminal (Linux, macOS, or Windows WSL2):
curl -fsSL https://raw.githubusercontent.com/Covai-Labs/JobFoundry/main/install.sh | bash
Smart runtime detection: The script automatically detects whether you have
docker compose,podman compose,podman-compose,docker-compose, or compatible container engines running, sets up.env, and launches the stack athttp://localhost:8080.
Prefer running compose directly?
git clone https://github.com/Covai-Labs/JobFoundry.git && cd JobFoundry
docker compose up -d # or: podman compose up -d
./scripts/healthcheck.sh
The extension captures jobs directly as you browse your favorite boards (zero server scraping):
(Prefer manual unpacked builds? Download the latest .zip from Releases.)
If you don't use Docker or Podman, ready-made desktop convenience builds are available from Releases:
JobFoundry-*-x86_64.AppImage, make it executable (chmod +x), and double-click to launch (requires glibc 2.39+, e.g. Ubuntu 24.04+, Fedora 40+, Arch; older distros should use Docker)..msix + .cer, trust the certificate via Terminal (Admin), and launch from the Start menu.brew tap covai-labs/tap && brew install covai-labs/tap/jobfoundry, then jobfoundry start (or download the arm64 tarball). Intel Macs should use Docker above.Full walkthrough: Quickstart Guide.
Both are free, local-first, and worth your time — they solve different jobs:
| Your goal | Use |
|---|---|
| Drive everything from your browser + dashboard, no CLI or AI tools | JobFoundry |
| Run your search from inside AI coding assistants (agentic, CLI) | career-ops |
| Capture listings through your real session (beats bot walls) | JobFoundry |
Already using career-ops? Import your pipeline: node scripts/import-career-ops.mjs --from /path/to/career-ops/data/pipeline.md.
JobFoundry is developed and maintained by a solo developer. There are no venture capitalists, no subscription paywalls, no tracking ads, and no selling of your data.
If JobFoundry saved you hours of tedious copy-pasting, reduced your job-search anxiety, or helped you land a role, here are meaningful ways to back the work:
Contributions welcome — especially new providers (fewer than 100 lines each). Start with CONTRIBUTING.md, the provider authoring guide, and SUPPORT.md. Bare-metal per-service commands and developer workflows live in DEVELOPMENT.md. All participation follows our Code of Conduct.
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
extension/scripts/ports/README.md for details.We are grateful to the authors, maintainers, and open-source communities behind both projects.
Local-first AI job ingestion, fit scoring, and resume tailoring pipeline with browser extension & web dashboard.
See the codeBrowse jobs like you always have. Get capture, dedup, fit scores, tailored resumes, and tracking — 100% locally, no terminal, no AI tools required.
Quick Install • Why JobFoundry? • Features • Providers • How It Works • Contributing
⚠️ Active Development / Beta: JobFoundry is built by a solo developer scratching his own itch. The core flows work, but rough edges exist and progress is happening every day. Bug reports, testing, and feedback are deeply appreciated!
Job hunting is stressful enough without new barriers: no accounts, no subscriptions, no CLIs to learn, no prompts to engineer. If you can browse the web, you can use JobFoundry.
Capture where the jobs are visible — your browser:
Server scrapers lose. Your browser wins. Datacenter IPs die against Cloudflare, CAPTCHAs, and login walls. Your authenticated browser session walks straight through — so listings are captured inside the browser you already use.
Zero server scraping. Capture happens in your browser; the server only ever receives already-captured jobs. Full statement: ARCHITECTURE.md.
Zero-token discovery. Reading a public job posting never costs an LLM call — structured data comes from public ATS endpoints, feeds, and markup. Models are spent only where judgment is needed: fit scoring and tailoring.
Truthful tailoring. Your genuine experience, re-ranked and rephrased under strict schema constraints. Never invented employers, skills, or metrics.
The human applies. JobFoundry prepares and prioritizes; it never auto-submits. You review, you click, you apply.
100% local. SQLite storage, zero telemetry, zero tracking. API keys stay on your machine. See SECURITY.md and the privacy guarantees.
jsonresume-theme-folio + ATS plaintext.node scripts/import-career-ops.mjs.| Category | Examples | Count |
|---|---|---|
| Modern ATS | Greenhouse, Lever, Ashby, Workable, SmartRecruiters, BambooHR | 12+ |
| Enterprise ATS | Workday, SuccessFactors, Taleo, iCIMS, Jobvite, Phenom | 11+ |
| Major Job Boards | LinkedIn, Indeed, Dice, Glassdoor, ZipRecruiter, Monster | 8+ |
| Niche & Remote | Wellfound, YC Jobs, We Work Remotely, RemoteOK, Hacker News | 15+ |
| Regional & Feeds | 40+ regional boards, RSS feeds, and aggregators | 40+ |
Browse the full searchable index: Provider Directory. Missing a board? Request it or add it yourself.
Browse normally ──► [ Extension captures ] ──► [ Dedup + Score ] ──► [ Tailor + Track ]
your browser your session, zero SimHash, local LLM truthful resume,
tokens, zero cost fit 0–100 Kanban board
How the pieces fit: ARCHITECTURE.md. How it started: MANIFESTO.md.
JobFoundry didn't start as a startup pitch or a polished product idea — it started because I was broke, exhausted, and desperately trying to get a job in a brutal tech market.
Job hunting right now is soul-crushing. Every tool out there wants a $30/month subscription, tries to lock you into their cloud, or burns expensive LLM tokens reading job descriptions only to hallucinate fake metrics, false skills, and invented employers on your resume. I couldn't afford subscriptions, and I refused to send recruiters hallucinated lies.
So I started hacking together tools to survive my own search. First came a tiny CLI experiment in truthful, zero-token resume tailoring. But I quickly realized that half the struggle was the daily chaos of browsing, tab-hopping, and sifting through duplicate cross-postings across 80+ job boards. That end-to-end loop became JobFoundry: capture straight from the browser session, dedup cross-posts with 64-bit SimHash, score fit with local models, and tailor truthfully under strict schema constraints.
Using it in my own search, I stayed stubbornly selective: letting fit scores filter out low-match noise, and only tailoring and applying to genuine high-fit roles. That focus actually worked, and I ended up receiving multiple job offers.
I don't know whether it was the right decision or the wrong decision, but I decided to take a pause for a couple of months and put my energy into polishing this and open-sourcing it under AGPL-3.0. I wanted to see if the tool that got me through the hardest stretch of my life could help other people going through the exact same struggle.
It is definitely not perfect. Rough edges exist, and active development is happening every single day. But if it saves you hours of burnout, protects your privacy, or helps you land an interview, it will have been completely worth it.
The recommended way to run JobFoundry is containerized via Docker or Podman. The complete stack (Fastify ingest API, React dashboard, LLM scorer, and tailoring engine) starts in seconds:
Run this in your terminal (Linux, macOS, or Windows WSL2):
curl -fsSL https://raw.githubusercontent.com/Covai-Labs/JobFoundry/main/install.sh | bash
Smart runtime detection: The script automatically detects whether you have
docker compose,podman compose,podman-compose,docker-compose, or compatible container engines running, sets up.env, and launches the stack athttp://localhost:8080.
Prefer running compose directly?
git clone https://github.com/Covai-Labs/JobFoundry.git && cd JobFoundry
docker compose up -d # or: podman compose up -d
./scripts/healthcheck.sh
The extension captures jobs directly as you browse your favorite boards (zero server scraping):
(Prefer manual unpacked builds? Download the latest .zip from Releases.)
If you don't use Docker or Podman, ready-made desktop convenience builds are available from Releases:
JobFoundry-*-x86_64.AppImage, make it executable (chmod +x), and double-click to launch (requires glibc 2.39+, e.g. Ubuntu 24.04+, Fedora 40+, Arch; older distros should use Docker)..msix + .cer, trust the certificate via Terminal (Admin), and launch from the Start menu.brew tap covai-labs/tap && brew install covai-labs/tap/jobfoundry, then jobfoundry start (or download the arm64 tarball). Intel Macs should use Docker above.Full walkthrough: Quickstart Guide.
Both are free, local-first, and worth your time — they solve different jobs:
| Your goal | Use |
|---|---|
| Drive everything from your browser + dashboard, no CLI or AI tools | JobFoundry |
| Run your search from inside AI coding assistants (agentic, CLI) | career-ops |
| Capture listings through your real session (beats bot walls) | JobFoundry |
Already using career-ops? Import your pipeline: node scripts/import-career-ops.mjs --from /path/to/career-ops/data/pipeline.md.
JobFoundry is developed and maintained by a solo developer. There are no venture capitalists, no subscription paywalls, no tracking ads, and no selling of your data.
If JobFoundry saved you hours of tedious copy-pasting, reduced your job-search anxiety, or helped you land a role, here are meaningful ways to back the work:
Contributions welcome — especially new providers (fewer than 100 lines each). Start with CONTRIBUTING.md, the provider authoring guide, and SUPPORT.md. Bare-metal per-service commands and developer workflows live in DEVELOPMENT.md. All participation follows our Code of Conduct.
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
extension/scripts/ports/README.md for details.We are grateful to the authors, maintainers, and open-source communities behind both projects.