santifer/career-ops가 오늘 JavaScript 트렌딩 13위, 별 203개를 기록했다. 한 줄 소개는 단순하다. Claude Code 위에 올린 AI 구직 시스템, 14개의 스킬 모드, Go로 만든 대시보드, PDF 생성, 배치 처리. 그러나 이 조합을 천천히 뜯어보면, 이 레포가 노리는 건 “AI가 이력서를 써준다”가 아니라 “구직 과정을 운영(ops)으로 다룬다”는 관점의 이동이다.
구직 자동화 도구는 보통 한 장의 출력에 최적화된다. 이력서 한 장, 커버레터 한 장, 자기소개 한 단락. 반면 career-ops는 검색·스크리닝·맞춤화·지원·추적을 14개의 독립된 모드로 쪼갠다. 모드를 분리하면 단계별 책임이 격리되고, 한 모드의 잘못된 출력이 다음 모드의 입력을 오염시키지 않는다. 동시에 “이 회사는 어떤 모드를 거쳐 어떤 기준으로 통과되었는가”가 그대로 로그로 남는다. 챗봇과 결정적으로 다른 지점이다.
또 하나 눈여겨볼 부분은 Go로 분리된 대시보드와 별도의 PDF 생성기다. LLM 출력은 본질적으로 비결정적인데, 진행 상황과 최종 산출물까지 LLM에 맡기면 디버깅이 불가능해진다. 대시보드는 LLM 바깥의 결정론적 창 역할을 하고, PDF 생성기는 “모델이 만든 텍스트”와 “사람이 제출할 문서” 사이에 안정적인 경계를 둔다. 배치 처리가 1급 시민으로 들어가 있다는 점도 중요하다. 단발 프롬프트가 아니라, 50~100개 포지션을 같은 파이프라인으로 돌리고 재실행할 수 있다는 뜻이기 때문이다.
남는 질문은 확장성이다. 14개 모드의 경계는 시간이 지나면 반드시 겹치기 시작하고, 그때 합칠지 더 쪼갤지가 이 레포의 다음 분기점이다. Go 대시보드가 단순 뷰어를 넘어 큐와 스케줄러까지 끌어안으면, 1인용 시스템이 소형 ATS로 진화할 여지가 생긴다. 어느 쪽이든 한 가지는 분명하다. Claude Code의 진짜 확장 표면은 코딩 보조가 아니라, 한 사람의 백오피스 런타임이라는 자리다. career-ops는 그 자리를 가장 구체적으로 점유한 초기 사례 중 하나로 남을 것이다.