HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
DaKheera47
job-ops
TypeScript2026–2026
DaKheera47 / job-ops

job-ops

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

2Distinct people
8Mentions
0Explicit recommenders
4.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

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

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week8 dated mentions

Observed mentions: 2026-01-17 20:30:25 UTC to 2026-08-14 16:48:55 UTC. Weeks start Monday, UTC.

01232026-01-12 00:00:00 UTC to 2026-01-19 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 commentsJan 122026-01-19 00:00:00 UTC to 2026-01-26 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-26 00:00:00 UTC to 2026-02-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-02-02 00:00:00 UTC to 2026-02-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-02-09 00:00:00 UTC to 2026-02-16 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2026-02-16 00:00:00 UTC to 2026-02-23 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2026-02-23 00:00:00 UTC to 2026-03-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-03-02 00:00:00 UTC to 2026-03-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-03-09 00:00:00 UTC to 2026-03-16 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-03-16 00:00:00 UTC to 2026-03-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-03-23 00:00:00 UTC to 2026-03-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-03-30 00:00:00 UTC to 2026-04-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-04-06 00:00:00 UTC to 2026-04-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-04-13 00:00:00 UTC to 2026-04-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-04-20 00:00:00 UTC to 2026-04-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-04-27 00:00:00 UTC to 2026-05-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsApr 272026-05-04 00:00:00 UTC to 2026-05-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-05-11 00:00:00 UTC to 2026-05-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-05-18 00:00:00 UTC to 2026-05-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-05-25 00:00:00 UTC to 2026-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-01 00:00:00 UTC to 2026-06-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-08 00:00:00 UTC to 2026-06-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-15 00:00:00 UTC to 2026-06-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-22 00:00:00 UTC to 2026-06-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-29 00:00:00 UTC to 2026-07-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-07-06 00:00:00 UTC to 2026-07-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-07-13 00:00:00 UTC to 2026-07-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-07-20 00:00:00 UTC to 2026-07-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-07-27 00:00:00 UTC to 2026-08-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-08-03 00:00:00 UTC to 2026-08-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-08-10 00:00:00 UTC to 2026-08-17 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsAug 10

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jan 122026-01-12 00:00:00 UTC2026-01-19 00:00:00 UTC211
Jan 192026-01-19 00:00:00 UTC2026-01-26 00:00:00 UTC000
Jan 262026-01-26 00:00:00 UTC2026-02-02 00:00:00 UTC000
Feb 22026-02-02 00:00:00 UTC2026-02-09 00:00:00 UTC000
Feb 92026-02-09 00:00:00 UTC2026-02-16 00:00:00 UTC312
Feb 162026-02-16 00:00:00 UTC2026-02-23 00:00:00 UTC211
Feb 232026-02-23 00:00:00 UTC2026-03-02 00:00:00 UTC000
Mar 22026-03-02 00:00:00 UTC2026-03-09 00:00:00 UTC000
Mar 92026-03-09 00:00:00 UTC2026-03-16 00:00:00 UTC000
Mar 162026-03-16 00:00:00 UTC2026-03-23 00:00:00 UTC000
Mar 232026-03-23 00:00:00 UTC2026-03-30 00:00:00 UTC000
Mar 302026-03-30 00:00:00 UTC2026-04-06 00:00:00 UTC000
Apr 62026-04-06 00:00:00 UTC2026-04-13 00:00:00 UTC000
Apr 132026-04-13 00:00:00 UTC2026-04-20 00:00:00 UTC000
Apr 202026-04-20 00:00:00 UTC2026-04-27 00:00:00 UTC000
Apr 272026-04-27 00:00:00 UTC2026-05-04 00:00:00 UTC000
May 42026-05-04 00:00:00 UTC2026-05-11 00:00:00 UTC000
May 112026-05-11 00:00:00 UTC2026-05-18 00:00:00 UTC000
May 182026-05-18 00:00:00 UTC2026-05-25 00:00:00 UTC000
May 252026-05-25 00:00:00 UTC2026-06-01 00:00:00 UTC000
Jun 12026-06-01 00:00:00 UTC2026-06-08 00:00:00 UTC000
Jun 82026-06-08 00:00:00 UTC2026-06-15 00:00:00 UTC000
Jun 152026-06-15 00:00:00 UTC2026-06-22 00:00:00 UTC000
Jun 222026-06-22 00:00:00 UTC2026-06-29 00:00:00 UTC000
Jun 292026-06-29 00:00:00 UTC2026-07-06 00:00:00 UTC000
Jul 62026-07-06 00:00:00 UTC2026-07-13 00:00:00 UTC000
Jul 132026-07-13 00:00:00 UTC2026-07-20 00:00:00 UTC000
Jul 202026-07-20 00:00:00 UTC2026-07-27 00:00:00 UTC000
Jul 272026-07-27 00:00:00 UTC2026-08-03 00:00:00 UTC000
Aug 32026-08-03 00:00:00 UTC2026-08-10 00:00:00 UTC000
Aug 102026-08-10 00:00:00 UTC2026-08-17 00:00:00 UTC101

What Hacker News says

8 sources
I’m building JobOps because I got tired of the "black box" nature of job hunting. I’m currently a final-year CS student, and I wanted a tool that didn't just scrape jobs but actually closed the loop on whether recruiters are even looking at my resume. The Two Big Changes: 1. Hiring Cafe Integration: I added an extractor for Hiring Cafe roles. They now flow into the same scoring/tailoring pipeline as all other roles. So it's the same UI with more job sources. Immediate win. 2. Tracer Links: This is the part I’m most excited (and nervous) about. I added tracked redirects for outbound links in the generated resumes. How it works: When enabled, JobOps rewrites links to your host (/cv/...), logs the click, and redirects to your destination link. The Goal: Moving from "fire and forget" to "this specific company actually clicked my portfolio lin
Read the rest
k." The Trade-off: I know this is a double-edged sword. Some email scanners might flag these redirects as suspicious, which is why it's an explicit opt-in feature. I’ve added rough human-vs-bot filtering, but I’d love to hear from anyone who has dealt with PDF-based link deliverability before. I’d love your feedback on: The Redirect Logic: Is there a more "stealthy" way to track clicks that won't annoy IT security? Source Expansion: Which niche job boards are actually worth the effort of writing an extractor for next? Repo (star if you find it interesting!): https://github.com/DaKheera47/job-ops (247 stars and counting—thank you to the community for the feedback so far!)
In [dead]

Show HN: JobOps – self-hosted job hunt "Ironman Suit"

I built JobOps to automate the parts of job hunting that feel like repetitive ops work. What it does: Scrapes jobs from LinkedIn / Indeed / Glassdoor (+ UK-focused extractors) Scores job fit with your profile using your preferred LLM Tailors resume content and exports PDFs via RxResume v4 Tracks post-application email replies (interview/reject/follow-up signals) It’s self-hosted (Docker), SQLite-backed, and designed so your data stays with you. Quick start: git clone https://github.com/DaKheera47/job-ops.git cd job-ops docker compose up -d # then open http://localhost:3005 Docs: https://jobops.dakheera47.com/docs/ Repo:https://github.com/DaKheera47/job-ops I’d love feedback on: - extractor reliability across regions - scoring quality / model prompts - post-application tracking accuracy - onboarding friction and docs gaps
1 points · Open discussion
Hi HN, I built JobOps to solve a problem I kept running into: job links expire, descriptions get edited, and by the time an interview invitation arrives weeks later, I have no idea what I actually applied for or which resume version I sent. What it does: Snapshots job descriptions at application time (so dead links don't kill your context) Generates tailored resumes and stores the exact version you sent with each application Supports local LLMs (Ollama, LM Studio) alongside cloud providers for resume tailoring Command bar (Cmd+K) and keyboard shortcuts for bulk operations Webhook integration for automation (n8n, Zapier, etc.) Dashboard for tracking application velocity and success rates Technical details: TypeScript monorepo. React 18 + Vite 6 frontend, Node/Express backend, SQLite + Drizzle ORM. Self-hosted via Docker Compose with persis
Read the rest
tent ./data volume. The LLM integration is provider-agnostic—swap between OpenAI, Gemini, OpenRouter, or local models without code changes. Built an adapter pattern that made adding Ollama support trivial. Job extraction uses a pluggable system: JobSpy (Python wrapper), Gradcracker, UKVisaJobs, manual imports, Glassdoor. Everything normalizes to a unified schema with deduplication. Why local-first: Your job hunt data is sensitive. This runs entirely on your machine. No SaaS, no tracking, no data leaving your infrastructure unless you explicitly configure webhooks. Current state: Been shipping daily for 3 weeks. 200+ stars, 570+ Docker pulls, 5 contributors I've never met, users answering each other's questions in issues. It's gone from "tool for myself" to something people are actually using. Demo (read-only): https://jobops.dakheera47.com Repo: https://github.com/DaKheera47/job-ops Open to feedback, questions, and PRs.
In JobOps – Self-hosted job application tracker with local LLM support
i built JobOps, basically a devops style pipeline for my jobhunt. im in the UK, on a student visa, trying to find a graduate job that’ll sponsor skilled worker. it’s basically my job application process turned into a pipeline, because i got sick of the same two things happening every time: - i apply, then the link dies and i lose the job description i actually applied to - i apply, then two weeks later i can’t remember what version of my CV i sent so the whole app is built around one idea: for every job, i want to make a tailored resume, and i want to be able to see it and the job description in the future if i get an interview. the steps in the pipeline is: - step 1; find the jobs (extractors) it pulls jobs from a few sources (some off-the-shelf, some custom), then maps everything into one schema and dedupes it. - step 2; make the artifa
Read the rest
cts for a job i actually care about, it generates an ATS-friendly CV pdf for that role, by changing the top level summary, the keywords and the projects shown. when i get an interview, i can look back to see the job description (to see what the company wants), and my tailored resume (to see what i sent the company). - step 3; track + automate the boring bits the UI has the obvious stuff (stages, extraction, sources), but the fun part is when you mark “applied” it emits a webhook. i use that to push the job into my notion db via n8n, so i’m not copy pasting titles/companies/locations like a caveman. i treat notion as my "source of truth", not because it's good, just because it's what i've been using since the start. it’s open source, local-first, and self-hosted (docker). i’m not selling anything and i’m not trying to turn this into a SaaS, i just wanted something i could run myself and figured it might help someone else too. write-up (hashnode): https://dakheera47.hashnode.dev/jobops repo + quickstart: https://github.com/DaKheera47/job-ops read-only demo: https://jobops.dakheera47.com/ if you hit anything weird, please open an issue (even if it’s just “this step in the README confused me”)
In JobOps: DevOps thinking applied to job hunting (self-hosted, local-first)

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.