Maya Workflow Kit
Blender에서 Maya 전체 워크플로를 한 번에 설치, 무료 오픈소스, Blender 4.5‑5.2 지원
Apply Kit – Chrome 확장과 Claude Code 서버로 지원서 자동 입력·적합도 평가·연락처 찾기·맞춤 outreach 초안 작성
AI job-application assistant: Chrome extension + Claude Code server that fills forms, scores fit, finds contacts and drafts outreach
플러그인HTML · TypeScriptGitHub @kuldeepsaini23온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗An AI job-application assistant: a Chrome extension plus a small local server that uses Claude Code to answer application questions, score job fit, find the right people to contact and draft outreach. It never submits anything. You review and press Submit.
Built in October 2026 with Claude Code.
context.md and leaves a question blank if it can't answer it honestly.hunter_api_key (checks guessed emails, 50 a month free) and github_token (higher GitHub rate limit). Results are cached per company and a credit counter keeps you inside free allowances. Phone chips open a call or WhatsApp, emails open Gmail compose; you always send yourself.TRACKER.md beside your packs) are hidden. Auto mode (off by default) finds people for the newest jobs in the background, up to a daily cap.Connections.csv and see who you know at each company, with a drafted referral ask.localhost:4777): your pipeline of prepared applications, an applications funnel (applied, replied, interview, offer) with reply rate per channel, and an outreach log.docs in server/config.json at your markdown notes (project write-ups, past achievements). Every Claude call retrieves the most relevant facts with hybrid search and adds them to the prompt, so answers use the right details instead of one fixed profile.tools/scan-boards.py): pulls live roles from Ashby, Greenhouse and Lever job boards, Wellfound (public role pages) and Himalayas, and filters them to your profile.The dashboard can also run as a static site (bun run build:site in server/, then deploy site/ to Vercel or any static host). It holds no data and runs no AI. In the browser, it talks to the Apply Kit extension, which forwards each request to the helper (server/server.ts) on your own computer, which runs Claude Code on your own login. Your profile, resume and tracker stay on your machine. The extension only accepts these requests from the sites listed in background.js (DASHBOARDS) and manifest.json.
New users set up from the dashboard's Setup tab: it checks the extension, the helper and Claude Code, and takes the profile, resume (PDF), the facts Claude may use, and saved answers. Those are saved in server/data/ (or APPLYKIT_DATA), so nobody needs to edit profile.js or context.md by hand.
Requirements: Chrome, Bun, and Claude Code logged in (the server calls claude -p, so it runs on your Claude plan, no API key needed).
git clone https://github.com/kuldeepsaini23/apply-kit
cd apply-kit
cp profile.example.js profile.js # your details (gitignored)
cp server/context.example.md server/context.md # facts + rules Claude may use (gitignored)
cp server/config.example.json server/config.json # name/email/deadline + "docs" paths for RAG (gitignored)
cd server && bun install && cd .. # local embedding model for RAG
# put your resume at ./resume.pdf (gitignored)
chrome://extensions → Developer mode → Load unpacked → this folder.bun server/server.ts (Windows: double-click start-server.cmd). The dashboard opens at http://localhost:4777.ApplyKit.exe is the same server built into one file (cd server && bun build-exe.ts), so users need neither Bun nor a terminal. It runs in the background with an icon by the clock: click it for the dashboard, right-click for the hosted site, the log, Start with Windows, Restart and Quit. It keeps its data in a data folder next to the exe, and starting it again replaces a copy that is already running. Claude Code still has to be installed and logged in. The optional notes search (RAG) is left out of the exe.
Optional: put prepared application notes as markdown files in packs/ (or set APPLYKIT_PACKS) and they show up in the dashboard pipeline.
Extension (MV3): fill.js is injected into every frame on demand. It matches each field's label to a rule (regex on label, name and placeholder), sets values with native setters plus input/change events, attaches the resume via DataTransfer, and tags open questions for Claude. background.js handles the shortcuts and messages from the dashboard; bridge.js connects the dashboard page to the extension.
Server (Bun): server/server.ts binds to 127.0.0.1 only and rejects requests from other origins. Each AI endpoint spawns claude -p with your context.md as the system prompt (no tools for answers and drafts; WebSearch/WebFetch only for people research) and parses the JSON reply.
RAG (server/rag.ts): markdown is split by heading into ~600-character chunks with overlap. Each chunk gets a BM25 keyword score and a vector embedding from all-MiniLM-L6-v2, run locally on CPU via transformers.js (no embedding API). Queries use reciprocal rank fusion of both rankings; vectors are cached until the notes change.
Retrieval eval (server/rag-eval.ts, bun run eval:rag): checks whether the right fact lands in the top 5 for a set of questions, half in the notes' own words and half paraphrased. On my notes (428 chunks, 16 questions):
| mode | recall@5 | MRR |
|---|---|---|
| BM25 only | 94% | 0.80 |
| vector only | 100% | 0.92 |
| hybrid (RRF) | 94% | 0.94 |
Smaller chunks helped: 600 characters beat 900 and 400. Hybrid ranks the right fact first most often, so it's the default.
Dashboard: plain HTML/JS, served by the same server.
MIT