AI-powered resume analyzer, JD matcher & mock interview β built specifically for Indian freshers.
| Feature | What it does |
|---|---|
| π Resume Analyzer | ATS score, top 3 strengths/weaknesses, rewritten bullets in role-specific language |
| π― AI Role Fit Analyzer | Auto-runs after resume analysis β maps your resume to top 5 best-fit roles with gap analysis |
| π― JD Matcher | Paste any JD β exact keyword gaps, match score, copy-paste ready resume rewrites |
| π€ Mock Interview | Real questions by role + type, write your answer, detailed AI feedback + expected answer structure |
| π Score Tracker | ATS score history β track if your resume is improving over time |
| π Interview History | All past mock sessions saved locally β review anytime |
| π PDF/DOC Upload | Drag & drop resume upload β no copy-paste needed |
| π 100% Private | Data never leaves your browser. No server, no tracking, no account needed |
| π Forever Free | Uses your own free Groq API key (2 min setup) |
Career Copilot follows a strict 4-layer architecture. Every layer has exactly one responsibility β nothing bleeds into another.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β UI Shell Layer β
β index.html Β· src/styles/* Β· src/components/* β
β src/app.js (events + DOM only β zero business logic) β
βββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββ
β calls with plain data
βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββ
β Pure Logic Layer β
β src/core/logic/resumeLogic.js β Resume + Role Fit β
β src/core/logic/jdLogic.js β JD Matcher β
β src/core/logic/interviewLogic.js β Interview flows β
β src/core/logic/sessionState.js β Runtime state β
β β
β Zero DOM Β· Zero CSS Β· Plain data in β plain data out β
β Portable to React Native / Electron / Node with 0 rewrites β
ββββββββββββ¬βββββββββββββββββββββββββββββ¬βββββββββββββββββββββββ
β calls β reads/writes
ββββββββββββΌβββββββββββββ βββββββββββββΌβββββββββββββββββββββββ
β AI Provider Layer β β Data / Utils Layer β
β src/adapters/ β β src/utils/storage.js β
β aiProvider.js β β src/utils/sanitize.js β
β src/api/groq.js β β src/utils/markdown.js β
β src/prompts/ β β src/utils/pdfParser.js β
β groqPrompts.js β ββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββ
Full architecture docs β .docs/architecture.md
AI coding rules β .docs/AI_RULES.md
User clicks button
β
βΌ
app.js ββββ reads DOM inputs
β
βΌ
sanitize.js ββββ cleans + clamps all input text
β
βΌ
Pure Logic Layer ββββ validates β calls GroqAdapter
β
βΌ
groq.js ββββ circuit breaker β Groq API β structured response
β
βΌ
Pure Logic Layer ββββ parses output β saves to storage/sessionState
β
βΌ
app.js ββββ parseMarkdown β renders result in DOM
- Free Groq API key β console.groq.com
- VS Code + Live Server extension
git clone https://github.com/r4huldeveloper/Career-Copilot.git
cd Career-Copilot
code .Then: right-click index.html β Open with Live Server
β οΈ Always open via Live Server (http://), never by double-clicking (file://). ES modules require an HTTP server.
- Go to console.groq.com
- Sign up free β API Keys β Create API Key
- Paste in the app when prompted β stored only in your browser, never sent anywhere
| Technology | Purpose |
|---|---|
| Vanilla JS (ES Modules) | No framework overhead, no build step, instant local dev |
| CSS Custom Properties | Full design token system, dark mode support |
| PDF.js (CDN) | Client-side PDF text extraction |
| Groq API + Llama 3.3 70B | AI inference (~2s response time) |
| Vercel | Zero-config static deployment |
| Cloudflare Workers + D1 | Anonymous global stats counter β free tier, zero PII, never pauses |
- BYOK (Bring Your Own Key): Your Groq API key is stored only in your browser's localStorage, Base64-encoded. Never transmitted to any server other than Groq directly.
- Sanitization Gate: All user inputs pass through
src/utils/sanitize.jsbefore any processing. All AI output is HTML-escaped before rendering. - No PII on server: The only backend (Cloudflare Worker) stores zero PII β only anonymous counts and role/model names. No resume text, no API keys, no IP addresses ever touch the Worker database.
- Circuit Breaker: If Groq API fails 3 times in 60s, requests are blocked for 30s β the app stays fully functional.
- Zero build step β clone and run with Live Server. No webpack, no bundler, no
npm install. - Pure Logic Layer (
src/core/logic/) is completely decoupled from the DOM. Move to React Native tomorrow β the business logic migrates with zero rewrites. - 1-file provider swap β want to add OpenAI or Gemini? Rewrite only
src/adapters/aiProvider.js. - Structured prompt contracts β every AI prompt defines exact output format. Parsers and prompts are a coupled contract documented in
architecture.md. - AI_RULES.md governs every change β human or AI agent. No tight coupling, no visual breakage, no unstructured AI output ever gets merged.
Contributions welcome! Read CONTRIBUTING.md first β every PR must pass the Zero-Escape 5-point audit.
AGPLv3 β This project is licensed under the AGPL v3.0. We welcome contributions! However, please note that the Career Copilot brand and UI design are proprietary. If you wish to use this software for commercial purposes without the restrictions of the AGPL, please contact us for a commercial license.
Built by Rahul Sharma β built the tool he wished existed when job hunting.
β If this helped you land a job β star the repo. Helps other Indian freshers find it.
