<div align="center">
<img src="https://raw.githubusercontent.com/AnojSKunte/career-ops-india/HEAD/assets/banner.svg" alt="career-ops-india" width="100%"/>
career-ops-india
인도 시장을 위한 AI 기반 취업 검색 파이프라인
Claude Code 및 Gemini CLI (무료)와 연동됩니다.
60개 이상의 인도 기업 채용 페이지를 스캔하고, 구조화된 루브릭으로 적합성을 평가하며,
맞춤형 PDF를 생성하고, 파이프라인을 추적하며, 인터뷰 준비까지 도와줍니다.
인도에서 데이터, 분석 및 제품 역할을 목표로 하는 초기 경력자들을 위해 구축되었습니다.
CI
License: MIT
Node 18+
Santiago가 만든 career-ops에서 영감을 받아, 인도 시장에 맞춰 전체적으로 재구축되었습니다.
</div>
기능 (What it does)
| 명령어 | 실행 내용 |
|---|
python main.py scan | 모든 소스(ATS API, 애그리게이터 API, RSS 피드, JobSpy)에 걸친 다단계 스캔 수행: SQLite에 영구 저장됨. |
| ... | |
작동 방식 (How it works)
대부분의 도구는 구인 게시판에서 크롤링을 시도하다가 차단됩니다. 이 시스템은 그렇지 않습니다.
1단계 — 스캐너가 ATS API에 직접 접근합니다
Razorpay, CRED, Zepto, Postman 등 56개 이상의 기업들은 Greenhouse, Lever 또는 Ashby를 지원자 추적 시스템(Applicant Tracking System)으로 사용합니다. 이 세 가지 모두 깨끗한 JSON API를 노출합니다. 스캐너는 브라우저나 CAPTCHA 없이 직접 이를 조회하므로 차단될 염려가 없습니다.
node scripts/scan.mjs
→ Razorpay(2) CRED(1) Postman(3) BrowserStack(1) ...
→ 23개의 일치하는 채용 공고를 찾았습니다. data/scan_results.json에 저장되었습니다.
2단계 — AI가 프로필과 비교하여 각 직무를 평가합니다
이 폴더에서 Claude Code 또는 Gemini CLI를 실행하세요. AI는 이미 사용자의 이력서(CV), 목표 연봉, 그리고 기술을 읽었습니다. URL을 붙여넣거나 스캔 결과에 대해 /batch 명령어를 실행하세요.
/evaluate https://boards.greenhouse.io/razorpay/jobs/6123456
[B] Razorpay — 데이터 분석가 (Data Analyst)
...
3단계 — 직무별 맞춤형 이력서 PDF 생성
/pdf razorpay 데이터 분석가
→ 불렛 포인트를 재작성하고, 5개의 직무 기술서(JD) 키워드를 주입하며, PDF를 생성합니다.
→ 저장 위치: output/anoj-sk_razorpay_data-analyst_2025-06-01.pdf
4단계 — 추적 (Track), 준비 (Prep), 협상 (Negotiate)
모든 정보는 로컬에 유지됩니다. 사용자의 파이프라인, 이력서(CV), 그리고 보고서는 gitignored 처리되어 기기 외부로 절대 전송되지 않습니다.
설정 (Setup)
필수 요구 사항 (Requirements)
- Node.js 18 이상 → nodejs.org
- Claude Code 또는 Gemini CLI (무료) — 둘 중 하나 이상
- Git
설치 (Install)
git clone https://github.com/AnojSKunte/career-ops-india
cd career-ops-india
npm install
...
cp config/profile.example.yml config/profile.yml
config/profile.yml을 편집하여 이름, 기술(skills), 목표 직무(target roles), 급여 범위(salary range), 근무 지역 등을 추가합니다.
다음으로 cv.md를 편집하여 자리 표시자 텍스트(placeholder text)를 실제 경험으로 대체합니다. CV가 구체적이고 수치화될수록 모든 평가 결과의 품질이 높아집니다.
첫 실행 (First run)
스캐닝에는 AI 키가 필요하지 않으며, Node.js만 있으면 됩니다. 약 30초 만에 60개 이상의 회사에서 일치하는 채용 공고를 확인할 수 있습니다.
이후 AI CLI를 실행합니다:
그리고 다음 명령어를 실행합니다:
/evaluate [스캔 결과에서 얻은 임의 URL]
슬래시 명령어 (Slash commands)
모든 명령어는 Claude Code와 Gemini CLI에서 동일하게 작동합니다.
/evaluate [URL 또는 JD 텍스트 붙여넣기] A부터 F까지의 전체 평가, 6개 블록 보고서
/scan 회사 재스캔, 새로운 공고 표시
/batch 여러 채용 공고를 한 번에 평가
...
npm 스크립트 (npm scripts)
npm run scan
npm run doctor
npm run dashboard
...
회사 커버리지 (Company coverage)
3개의 ATS 시스템에 걸쳐 230개 인도 기업 사전 구성 완료:
|
| ATS | 회사명 (예시) |
|---|
| Greenhouse (89) | Razorpay, BrowserStack, Postman, Freshworks, Chargebee, MoEngage, Clevertap, Darwinbox, Innovaccer, Gupshup, Fractal Analytics, InMobi, Perfios, upGrad, Scaler, Sigmoid, DataWeave, Axtria, Classplus, Teachmint + 59개 이상 |
| ... | |
회사 추가 방법: 해당 회사의 채용(careers) URL을 찾고, 도메인에서 ATS를 식별한 다음, portals/india.yml에 4줄 항목을 추가합니다. 끝입니다. | |
커버하는 소스 (Sources covered)
전체 소스 범위 (Full source coverage)
| 소스 | 명령어 | 커버 범위 |
|---|
| Greenhouse / Lever / Ashby | | 256개 사전 매핑된 인도 기업 |
| ... | | |
| 실행: 모두 한 번에 실행하기: | | |
ATS 회사 (Greenhouse / Lever / Ashby) — npm run scan
가장 깨끗하고 신뢰할 수 있는 소스입니다. 회사들이 자신의 ATS(지원자 추적 시스템)에 직접 채용 공고를 게시합니다. 스캐너는 JSON API를 호출하며, 브라우저나 CAPTCHA가 필요 없고 즉시 결과를 얻을 수 있습니다.
LinkedIn — npm run scan:linkedin
LinkedIn의 공개 게스트 API(/jobs-guest/)를 사용합니다. 구글이 채용 공고를 색인화(index)하는 데 사용하는 것과 동일한 엔드포인트입니다. 로그인이나 계정 관리가 필요 없습니다. HTML 카드 응답을 파싱합니다. 요청 간에 2~5초의 지연 시간을 추가하여 속도 제한(rate limits) 내에 머무르도록 합니다.
npm run scan:linkedin
...
Naukri — npm run scan:naukri
Naukri는 공개 API가 없습니다. 이 스크립트는 Playwright를 사용하여 실제 브라우저를 시뮬레이션합니다. 감지되지 않도록 설계상 느리며, 5~10초의 지연 시간을 추가합니다.
pm install playwright
npx playwright install chromium
...
참고: Naukri의 이용 약관(ToS)은 스크래핑을 금지합니다. 개인적인 구직 활동 목적으로만 사용해야 하며, 상업적 데이터 수집 용도로는 사용할 수 없습니다.
왜 그냥 Naukri / LinkedIn을 스크래핑하지 않는가?
그렇게 할 수는 있습니다. 하지만 두 가지 문제가 있습니다:
-
신뢰성(Reliability). Naukri는 Cloudflare와 지문 인식(fingerprint detection)을 사용합니다. LinkedIn은 스크래퍼에 대해 적극적으로 소송을 제기합니다. 어떤 스크래퍼든 프론트엔드를 업데이트하면 몇 주 안에 작동이 멈춥니다. 채용 공고를 찾는 시간보다 스크래퍼를 수정하는 데 더 많은 시간을 소비하게 될 것입니다.
-
신호 품질(Signal quality). 경험 수준에 맞춰 공략할 만한 기업들—Razorpay, CRED, Zepto, Postman 등—은 모두 이 스캐너가 직접 쿼리하는 ATS 시스템을 갖추고 있습니다. 해당 기업들의 채용 정보는 더 깨끗하고 정확하며, 실제로 작동하는 지원 링크를 제공합니다.
Naukri는 양적 접근(volume play)입니다. ATS 우선 방식은 질적 접근(quality play)입니다. 이 도구는 후자에 최적화되어 있습니다.
평가 기준 (Evaluation criteria) (A부터 F까지의 의미)
모든 채용 공고는 10가지 차원에 걸쳐 점수가 매겨집니다:
| 차원 | 가중치 | 확인 내용 |
|---|
| 역할-기술 일치도(Role-skill match) | 25% | 일상 업무가 실제 기술과 일치하는가? |
| ... | | |
| 등급 → 행동: | | |
- A (4.5–5.0): 오늘 지원하세요. 최우선 순위로 고려하세요.
- B (4.0–4.4): 맞춤형 CV를 준비하여 지원하세요. 노력을 기울일 가치가 있습니다.
- C (3.5–3.9): 파이프라인(pipeline)이 부족할 때 지원하세요.
- D (3.0–3.4): 상당한 격차가 있습니다. 먼저 기술을 보완하거나 비공식적으로 연락하세요.
- F (<3.0): 지원하지 마세요. 다른 곳에 시간을 쓰는 것이 더 낫습니다.
개인 정보 보호 (Privacy)
개인 데이터는 사용자의 장치(machine)에 보관됩니다:
cv.md — gitignore 대상
config/profile.yml — gitignore 대상
data/ — gitignore 대상 (파이프라인, 스캔 결과)
reports/ — gitignore 대상 (평가 보고서)
output/ — gitignore 대상 (생성된 PDF)
저장소(repository)에는 시스템 파일만 포함되어 있습니다—모드, 스크립트, 회사 목록. 개인적인 정보는 절대 커밋되거나 푸시되지 않습니다.
파일 구조 (File structure)
career-ops-india/
├── CLAUDE.md ← Claude Code용 AI 브레인 (자동 로드)
├── GEMINI.md ← Gemini CLI용 AI 브레인 (자동 로드)
...
로드맵 (Roadmap)
기여(Contributing)
PR 환영합니다. 가장 유용한 기여 사항:
- portals/india.yml에 추가된 신규 회사 — 회사당 단 4줄만 필요
- ATS 슬러그 수정 — 회사가 리브랜딩할 때 슬러그가 변경됨
- 신규 모드 — 예: 추천인 추적기, 후속 조치 스케줄러
- 스크립트의 버그 수정
자세한 내용은 CONTRIBUTING.md를 참조하세요.
라이선스(License)
MIT — 사용하고, 포크(fork)하고, 기반으로 구축하세요.
<div align="center">
작성자: <a href="https://github.com/AnojSKunte">Anoj S K</a> · IIT Hyderabad · <a href="https://github.com/AnojSKunte/career-ops-india">GitHub</a>
<br><br>
이것이 인터뷰 기회를 얻는 데 도움이 되었다면, 레포지토리를 별점(star)로 표시해 주세요 ⭐
</div>