Skip to content

nmime/job-ops

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

696 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JobOps

One search across every board. One click to tailor your CV. One place to track it all.

Your ironman suit for job hunting. You still apply to every job yourself. JobOps just makes you ten times faster.


DaKheera47%2Fjob-ops | Trendshift

Stars GHCR Release Contributors


800+ users · 4,000+ job searches run · #3 on GitHub Trending for TypeScript


JobOps Dashboard

What is JobOps?

JobOps searches LinkedIn, Indeed, Glassdoor and 10+ job boards from one screen, rewrites your CV for each role, scores your fit, checks visa sponsorship status, and tracks every application in one place.

By default it does not auto-apply: you stay in the loop and apply yourself. Self-hosters can opt into a guarded email-only auto-apply queue for READY jobs, but it is dry-run by default, requires explicit JOBOPS_AUTONOMOUS_EMAIL_APPLY_ENABLED=true plus SMTP settings to send real email, and never submits portal/CAPTCHA applications.

wait-at-start-mp4-hq.mp4

Quick Start

Prefer a guided walkthrough? Follow the Self-Hosting Guide.

git clone https://github.com/DaKheera47/job-ops.git
cd job-ops
docker compose up -d

Open http://localhost:3005 and follow the onboarding wizard. You'll be searching in under 10 minutes.


How It Works

Step What happens
Search Scrapes 10+ job boards for roles matching your criteria
Score AI ranks each job 0-100 against your profile
Tailor Generates a rewritten CV matched to each job description
Export Creates a polished PDF locally, or via Reactive Resume
Track Connects to Gmail and auto-detects interviews, offers, and rejections

Optional background automation is available for self-hosters: JOBOPS_BACKGROUND_DISCOVERY_ENABLED=true periodically runs discovery, and JOBOPS_AUTONOMOUS_AUTO_APPLY_QUEUE_ENABLED=true queues READY email-apply candidates. The auto-apply scanner uses no-overlap scans, newest-ready-first ordering, and can be explicitly run at startup with JOBOPS_AUTONOMOUS_AUTO_APPLY_RUN_ON_START=true. Real autonomous email sending remains off unless JOBOPS_AUTONOMOUS_EMAIL_APPLY_ENABLED=true; portal and CAPTCHA/challenge jobs stay human-in-loop. CAPTCHA solver settings are unified for server-known extractor challenges only; portal/application CAPTCHA flows remain human-review.


Supported Job Boards

Platform Focus
LinkedIn Global
Indeed Global
Glassdoor Global
Himalayas Remote public API
HN Who is Hiring Public Hacker News/Algolia feed
USAJOBS US federal jobs API (API key required)
Adzuna Multi-country API
Hiring Cafe Global
startup.jobs Startup/remote roles
Working Nomads Remote-only
Gradcracker STEM/Grads (UK)
UK Visa Jobs Sponsorship (UK)
Golang Jobs Go developers
Seek Australia/NZ (via Apify)

Custom extractors can be added via TypeScript. See the extractor docs.


Post-Application Tracking

Connect your Gmail and JobOps watches for recruiter replies automatically.

  • "We'd like to invite you to interview..." → Status updates to Interviewing
  • "Unfortunately we won't be progressing..." → Status updates to Rejected

No manual updates. No spreadsheets. See the tracking docs for setup.


AI Providers

JobOps works with the model provider you already use:

  • Codex (local app-server in Docker, authenticated with codex login)
  • OpenAI
  • Google Gemini
  • OpenRouter
  • Any OpenAI-compatible endpoint (Ollama, LM Studio, etc.)

Cloud

Don't want to self-host? JobOps Cloud gives you your own hosted instance with nothing to install.

BYOK Zero Setup
Price £20/month £30/month
All features
Your own instance
Managed updates
AI provider Bring your own key Included, no config needed
Get Started Get Started

Self-hosted will always be free and open source.


Documentation


Contributing

Contributions are welcome. Whether it's code, docs, or new extractors, start with CONTRIBUTING.md.


Star History


Analytics

JobOps includes anonymous usage analytics (Umami) to help improve the product. To opt out, block umami.dakheera47.com in your firewall or DNS.

License

AGPLv3 + Commons Clause

You can self-host, use, and modify JobOps freely. You cannot sell the software itself or offer paid hosted services whose value substantially comes from JobOps. See LICENSE.


About

job-ops: DevOps principles applied to job hunting. A self-hosted pipeline to track, analyze, and assist your application process

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • TypeScript 98.7%
  • Python 0.5%
  • Shell 0.3%
  • Dockerfile 0.2%
  • CSS 0.2%
  • JavaScript 0.1%