1 comments

  • dakheera47 2 hours ago

    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 artifacts 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”)