Skip to content

anurag3407/career-pilot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2,490 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

πŸš€ Career Pilot

AI-powered career OS β€” resumes, mock interviews, job tracking, portfolios, fellowships, GitHub intelligence and outreach, all in one full-stack platform.

Stars License Install

Node.js Express MongoDB Redis Socket.IO BullMQ React Vite TailwindCSS Firebase Razorpay OCR Multi-AI

Documentation · Discord · License: MIT · Built with ❀️ by the Career Pilot community


✨ What is Career Pilot?

Career Pilot is a full-stack, AI-first career operating system that turns job hunting from a chaotic, multi-tab slog into a single workflow. It's not a single-purpose resume builder β€” it's a unified platform that combines resumes, mock interviews, job search & tracking, portfolio publishing, GitHub intelligence, fellowships, paid challenges, community, outreach, and admin tooling behind one authenticated dashboard.

Powered by multi-provider AI (OpenAI, Anthropic Claude, Groq, Google Gemini, OpenRouter and a Bring-Your-Own-Key path), Career Pilot writes your resume, critiques it like an ATS, runs you through mock interviews with an avatar, tracks every job application on a kanban board, deploys a designer-grade portfolio to Netlify / Cloudflare Pages / GitHub Pages, parses your GitHub for risk and impact, and emails recruiters on your behalf β€” all from the same Express + React app.

It's modular by design: the Express backend exposes 30+ route groups, the React frontend has 50+ pages across feature hubs, and contributors can pick up good-first-issue tickets in any one of them without having to grok the rest of the system.


🧭 Feature Pillars

Career Pilot is organized into six tightly-integrated pillars. Each pillar ships its own UI hub, REST routes, AI services, and MongoDB models β€” and they share authentication, presence, notifications, and rate limiting.

Pillar What you get
πŸ“ Resume Studio AI-built resumes, 60+ templates, ATS scorer, drag-and-drop sections, text-to-resume, tailoring, translation, versions & sharing
🎀 Interview Sim Audio + video mock interviews with an avatar interviewer, coding round (Monaco editor, executed against hidden tests), 14 languages, confidence meter, replay
πŸ’Ό Jobs & Tracker JSearch-powered search, drag-and-drop kanban tracker, scheduled email alerts, company research, JD summarizer, recruiter outreach & tracking
🎨 Portfolio Studio 250+ themes, AI content enhancer + extractor, deploy to Netlify / Cloudflare / GitHub Pages, custom domains, accessibility audit, SEO, GitHub sync
🧠 AI Career Tools Cover-letter generator, email drafter (3 variants), LinkedIn optimizer, skill-gap analyzer, career-trajectory predictor, weekly digest
🌐 Community, Fellowships & GitHub Intel Channels, posts, DMs, scheduled posts, paid fellowship challenges, Razorpay payouts, repo analyzer, project visualizer, CI/CD & dependency detection

πŸš€ Quick Install

Prerequisites

  • Node.js 18+ and npm 10+ (or yarn / pnpm)
  • MongoDB 6.0+ (local or Atlas)
  • Redis 7.0+ (local, Upstash, or Memorystore)
  • Firebase project (Authentication + Firestore)
  • Optional: Cloudinary for media, OpenAI / Anthropic / Groq keys for AI features, RapidAPI for JSearch, Razorpay for fellowship payments, GitHub token for higher rate-limits

Clone & bootstrap

git clone https://github.com/anurag3407/career-pilot.git
cd career-pilot

# Install root, backend, and frontend deps
npm install
cd backend && npm install
cd ../frontend && npm install
cd ..

Configure environment

# Backend
cp backend/.env.example backend/.env
# Edit backend/.env β€” set MONGODB_URI, REDIS_URL, OPENAI_API_KEY, RAPIDAPI_KEY,
# FIREBASE_PROJECT_ID, FIREBASE_SERVICE_ACCOUNT_PATH, FRONTEND_URL

# Frontend
cp frontend/.env.example frontend/.env
# Edit frontend/.env β€” set VITE_API_URL, VITE_FIREBASE_* keys

Run locally

# Terminal 1 β€” backend (Express on :5000)
cd backend
npm run dev

# Terminal 2 β€” frontend (Vite on :5173)
cd frontend
npm run dev

Visit http://localhost:5173 and sign up. Two-factor authentication, social login, and Firebase auth are wired in β€” registration takes one click.

Docker (one command)

docker compose up --build

The included Docker-compose.yml builds the frontend, the backend, and pulls in MongoDB + Redis with health-checks so you can be running in a single command on Linux, macOS, or Windows.


🏁 Getting Started

After installation, the most-used workflows are:

# Resume
cd frontend && npm run dev          # open /dashboard β†’ "New Resume"
# AI: paste a job description into Enhance β†’ ATS score + rewrite

# Mock interview
# Open /interview-prep β†’ pick a role β†’ speak or type answers

# Job tracker
# Open /jobs-hub β†’ "Track" a job β†’ drag across the kanban

# Portfolio
# Open /portfolio-hub β†’ "New Portfolio" β†’ pick a theme β†’ Deploy

The Hubs (/resume-hub, /jobs-hub, /portfolio-hub, /career-growth-hub, /community-hub) act as mission control β€” every tool you need for that pillar is one click away.


πŸ“ Pillar 1 β€” Resume Studio

A complete resume authoring + analysis environment.

Feature Description
Visual Builder Step-wizard with sections for Personal, Education, Experience, Projects, Skills, Certifications, Custom Sections. Drag-and-drop reorder with persistence.
60+ Templates From ClassicSerif and IvyLeague to TechMono, IDETheme, Glassmorphism, BrutalistBold, NeumorphismSoft, PhotoBanner, StockholmScandi, BerlinTwoCol β€” pick the one that matches your industry.
Text-to-Resume Paste a wall of text (LinkedIn export, old bio, anything) and the AI structures it into a resume. See /text-to-resume.
AI Enhancement Enhance.jsx runs a multi-pass critique: ATS scoring, achievement rewrites with action verbs, quantified-impact suggestions, tone analyzer, consistency checker.
Resume Tailor Paste a job description β†’ AI rewrites your resume to match keywords and rank for that specific role.
Resume Translator Translate to 14 languages while preserving layout and section ordering.
ATS Scorer Section-aware keyword matching with role dictionaries (software engineer, frontend, backend, data scientist, PM, designer, marketing, sales, HR, PM, etc.). Returns 0–100 with actionable feedback.
Versions & Compare Every save snapshots a ResumeVersion. Diff two versions side-by-side, restore any prior snapshot.
Sharing & Comments Generate a public link (/shared/:token) with optional expiry. Reviewers can leave inline comments without an account.
Resume ↔ Portfolio Compare Detects drift between your resume claims and your live portfolio content.
PDF Export One-click export via jsPDF + html2canvas, paginated, print-ready.

Routes: /dashboard, /resume-builder, /enhance, /resume-templates, /resume-view/:id, /shared/:token, /text-to-resume

Backend: routes/resume.js, routes/enhance.js, routes/collaboration.js, services/atsScorer.js, services/resumeJobMatcher.js, services/keywordOptimizer.js, services/pdfGenerator.js


🎀 Pillar 2 β€” Interview Sim

A real interview, not a quiz.

Feature Description
Avatar Interviewer 3D-animated interviewer with idle/active/listening states β€” built in AvatarInterviewer.jsx.
Audio + Video Browser mic capture via VoiceToTextButton, video toggle, push-to-talk. Falls back gracefully on devices without a camera.
Speech-to-Text Server-side transcription pipeline (transcribeAudio) uploads buffer to storage and returns text β€” so any candidate can answer verbally.
Coding Round Lazy-loaded Monaco editor with syntax highlighting. Code is executed against hidden test cases (runCodeAgainstTests) and graded.
14 Languages English, Spanish, French, German, Italian, Portuguese, Dutch, Hindi, Japanese, Korean, Simplified Chinese, Arabic, Russian, Turkish β€” the AI gives feedback and ideal answers in your chosen language.
Company-Specific Bank A curated QuestionBank model ships pre-vetted questions for top companies. AI generation fills the gaps.
Confidence Meter Real-time audio analysis + answer-quality scoring β€” see how you sound under pressure.
Body Language Tips Browser-side heuristics for posture, eye contact, and pace β€” actionable prompts mid-interview.
Replay Every interview is saved (Interview.model.js) with question, your answer, ideal answer, and AI analysis. Replay any past attempt in /interview-history and /interview-replay/:id.
JD-Driven Questions Drop in a job description URL or paste text β€” the parser extracts role / level / skills and generates a tailored loop.
Share Cards Generate a poster-style image of your interview summary to share on LinkedIn.

Routes: /interview-prep, /interview-history, /interview-replay/:id

Backend: routes/interview.js, services/interviewService.js, services/jdParser.service.js, models/Interview.model.js, models/QuestionBank.model.js


πŸ’Ό Pillar 3 β€” Jobs & Tracker

Find, organize, follow up β€” without losing a single application.

Feature Description
Job Search Filters for title, location, salary, remote/on-site, recency. Backed by RapidAPI JSearch with a multi-source Scraper Registry (LinkedIn, Naukri, AngelList, RemoteOK) as a fallback when the API quota is exhausted.
Job Tracker Drag-and-drop kanban: Saved β†’ Applied β†’ Interviewing β†’ Offered β†’ Rejected. Each card tracks company, role, link, notes, salary, status updates, and timeline.
Mobile Kanban Swipe-friendly board for on-the-go status changes (MobileKanban.jsx).
Job Alerts Define keyword + location + frequency; a BullMQ worker runs the query, dedupes, and emails matching roles. (jobFetcher.js, jobAlertQueue.js)
Smart Email Alerts Open + click tracking via emailTracker.js + bounceHandler.js; unsubscribe links; weekly digest summary.
Company Research Paste a company name β†’ AI returns structured intelligence (size, funding, tech stack, culture, recent news) for interview prep.
JD Summarizer One-line "what this job actually wants" + responsibility breakdown + must-have vs. nice-to-have skills.
Recruiter Outreach /outreach β€” give it a company URL and it drafts 3 personalized cold emails using your resume + the company's open roles, then queues them.
Email Tracking Open pixels + click redirects tell you which recruiter actually read your email.
Offline Tolerant Status changes are queued locally (getQueuedStatusUpdates) and replayed when you're back online β€” track a job from the train.

Routes: /job-search, /job-tracker, /job-alerts, /outreach

Backend: routes/jobsRoute.js, routes/jobTracker.js, routes/jobAlerts.js, routes/outreach.route.js, routes/emailTracking.js, services/jobFetcher.js, services/companyResearchService.js, services/jobSummarizer.js, services/scrapers/*, services/outreachQueue.js, services/weeklyDigestService.js


🎨 Pillar 4 β€” Portfolio Studio

A working portfolio site in under a minute β€” themed, accessible, and live on your domain.

Feature Description
250+ Themes From Aurora_Sky to Cyberpunk, Cyber_Security_Red_Team, Magazine_Editorial, Liquid_Morph, Apple_Showcase, Spotify_Wrapped, Vercel_Deploy, IKEA_Assembly_Manual, Cyber_Security_Red_Team, Reddit_Whistleblower, Notion_Workspace, VS_Code_Theme, and many more β€” including tribute templates inspired by Delba, Dev Jadiya, Clyde D'Souza, and ChiragChrg.
AI Portfolio Extractor Paste your resume β†’ AI extracts structured data (hero, projects, skills, experience, education) β†’ pre-fills the editor.
AI Content Enhancer Section-by-section rewrites to sharpen your "About", tighten project descriptions, and humanize your tone.
Theme Selector + Color Customizer Live preview with custom palette, fonts, and accent colors per section.
Resume ↔ Portfolio Compare Detects drift so your portfolio never contradicts your resume.
Section Editor Reorder, hide, or duplicate hero / projects / about / skills / experience / education sections.
Social Links Editor GitHub, LinkedIn, X, Email, Website β€” rendered as themed buttons.
Accessibility Audit accessibilityChecker.js scores contrast, alt-text, ARIA, heading order, and keyboard traps; surfaces a per-page report.
Image Optimization Sharp-based pipeline that resizes, re-encodes, and lazy-loads every asset.
One-Click Deploy Push to Netlify, Cloudflare Pages, or GitHub Pages with the same UI. Custom slugs, deploy logs, and rollback are all in-app.
GitHub Sync portfolioGitHubSync.js watches a connected repo, auto-rebuilds the portfolio on new commits, and pins your best work.
SEO Auto-generated robots.txt, sitemap.xml, OpenGraph, and Twitter cards.
Screenshot Service screenshotService.js uses a shared Puppeteer browser instance to generate social-share previews.
HTML Sanitization Every user-pasted HTML block is sanitized through htmlSanitizer.js and threat-scanned before render.
Portfolio Versions Snapshot every publish, roll back in one click.

Routes: /portfolio-hub, /portfolio/:id, /deployments

Backend: routes/portfolio.js, services/portfolioTemplateEngine.js, services/portfolioGitHubSync.js, services/accessibilityChecker.js, services/screenshotService.js, services/imageOptimizer.js, services/deploy/{netlify,cloudflare,githubPages}Deployer.js, services/deploy/portfolioHtmlGenerator.js, services/ai/portfolioExtractor.js, services/ai/portfolioContentEnhancer.js


🧠 Pillar 5 β€” AI Career Tools

A bag of focused, deterministic AI utilities that compose with everything else.

Tool What it does
AI Resume Enhancer Multi-pass rewrite of bullet points, with action verbs, quantified impact, and tone control.
ATS Scorer Section-aware keyword density, role-specific dictionaries, 0–100 score with concrete fixes.
Resume ↔ JD Matcher Match score, missing skills, strengths, and tailored recommendation list.
Skill Gap Analyzer Paste a JD β†’ see what you're missing, get a personalized learning plan.
Career Trajectory Predictor 3 career paths Γ— 4 roles Γ— 3 skills each, from your current role + skills.
Salary Estimator Industry + experience + location β†’ market salary band with reasoning.
Cover Letter Generator Upload your resume PDF β†’ AI extracts text β†’ tone picker (formal / conversational / enthusiastic) β†’ PDF-ready letter.
Cold Email Generator 3 variants + 3 subject lines from your resume + a job description; pickable tone.
LinkedIn Optimizer Section-by-section critique of your LinkedIn profile with a ScoreRing UI, copyable rewrites, and impact-tagged recommendations.
LinkedIn Headline Generator Standalone generator powered by LinkedInHelper.
LinkedIn Dashboard Importer, engagement analytics, and connection-tracking.
JD Summarizer Compresses any job description into responsibilities / requirements / nice-to-haves / red flags.
Company Research AI-driven company intelligence report.
Keyword Optimizer Finds high-value keywords missing from your resume for a target role.
Weekly Digest Personalized email of new jobs, alerts fired, interview stats, and application status.
Multi-Provider AI aiProviders.js routes between OpenAI, Anthropic Claude, Groq, Gemini, OpenRouter. BYOK via extractAIProvider middleware.

Routes: /enhance, /skill-gap, /cover-letter, /email-generator, /linkedin-optimizer, /linkedin-dashboard, /analytics

Backend: services/atsScorer.js, services/resumeJobMatcher.js, services/keywordOptimizer.js, services/coverLetterService.js, services/emailGeneratorService.js, services/linkedinOptimizerService.js, services/linkedinService.js, services/linkedinImporter.js, services/careerPathSuggester.js, services/salaryEstimator*, services/companyResearchService.js, services/jobSummarizer.js, services/weeklyDigestService.js, services/ai/*, services/anthropicChatService.js


🌐 Pillar 6 β€” Community, Fellowships & GitHub Intel

The non-resume half of Career Pilot: where humans (and code) meet.

Community

  • Channels with member counts and unread badges
  • Posts feed with rich text + image uploads, scheduled posts (postScheduler.js)
  • Comments with like-toggle and threaded replies
  • Direct Messages with online presence indicators
  • Presence service via Socket.IO (presenceService.js) β€” see who's online right now
  • Real-time updates through socketServiceFirebase.js
  • Bull-Board UI at /admin/queues for ops to watch queues live

Fellowships β€” paid challenges

  • Browse Challenges (/fellowship/challenges) across Design, Content, Development, Research, Marketing
  • Submit Proposals with budget and timeline
  • Onboarding & Verification β€” email + 6-digit code with rate-limited attempts (verifyCodeLimiter)
  • Chat Rooms scoped per challenge (FellowshipChat)
  • Razorpay Payouts β€” proposals are funded via paymentService.js (routes/payments.js): create order β†’ user pays β†’ signature verified β†’ funds released
  • My Challenges / My Proposals β€” personal dashboards

GitHub Intelligence

  • Repo Analyzer Workspace (/repo-analyzer/workspace) β€” paste a GitHub URL, get a node-graph of files, dependencies, and complexity. Includes file drawer, chat panel, and interview mode where the AI quizzes you on the codebase.
  • Project Visualizer (/project-visualizer) β€” architecture canvas, module inspector, language bar, dependency-health panel, risk cards, contributor grid, commit timeline, AI suggestions.
  • CI/CD Detector β€” auto-detects GitHub Actions, Jenkins, CircleCI, Travis, GitLab CI, and reports coverage.
  • Dependency Analyzer β€” surfaces outdated, vulnerable, or unused packages.
  • GitHub Dashboard β€” contribution heatmap, productive hours chart, repo radar, README generator, profile import β†’ resume.
  • Repo Ingestion β€” clones and indexes repos for offline analysis.

Routes: /community, /fellowship/*, /repo-analyzer/*, /project-visualizer/*, /github-dashboard

Backend: routes/community.js, routes/fellowships.js, routes/payments.js, routes/repoAnalyzer.js, routes/projectVisualizer.route.js, routes/githubImporter.js, services/postScheduler.js, services/presenceService.js, services/socketServiceFirebase.js, services/repoScanner.js, services/repoIngestionService.js, services/dependencyAnalyzer.js, services/cicdDetector.js, services/githubEnricherService.js, services/paymentService.js, services/twoFactorService.js


πŸ” Security, Auth & Privacy

Capability Implementation
Firebase Authentication Email/password, Google, GitHub social login. Token verified server-side via verifyToken middleware.
Two-Factor Auth TOTP via speakeasy, AES-256-GCM-encrypted secrets, QR code setup, 10 single-use backup codes, secure recovery flow (routes/twoFactor.js).
Rate Limiting Per-route, per-user limits on AI endpoints (aiRateLimiter), fellowship verify codes, and cover-letter generation.
Role-Based Access adminOnly middleware protects admin routes; /api/admin/* exposes stats, user management, login logs, bug reports.
GDPR /api/gdpr/* endpoints for export and deletion.
Email Bounce Handling bounceHandler.js unsubscribes and flags invalid addresses.
HTML Sanitization htmlSanitizer.js + threat scanner protect portfolio rendering.
Payments Razorpay HMAC signature verification on every callback.
Security Settings UI /security-settings β€” enable/disable 2FA, regenerate backup codes, view active sessions.

🧩 Architecture at a Glance

career-pilot/
β”œβ”€β”€ backend/                # Express 4.18 API server
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ routes/         # 30+ route groups (resume, jobs, portfolio, etc.)
β”‚   β”‚   β”œβ”€β”€ controllers/    # Request handlers
β”‚   β”‚   β”œβ”€β”€ services/       # 50+ business-logic services (AI, jobs, deploy…)
β”‚   β”‚   β”œβ”€β”€ models/         # 30+ Mongoose schemas
β”‚   β”‚   β”œβ”€β”€ middleware/     # auth, rateLimiter, aiKey, validate, errorHandler
β”‚   β”‚   β”œβ”€β”€ schemas/        # Zod request validators
β”‚   β”‚   β”œβ”€β”€ config/         # aiProviders, firebase, redis, multer
β”‚   β”‚   β”œβ”€β”€ utils/          # htmlSanitizer, diff, sitemapGenerator
β”‚   β”‚   β”œβ”€β”€ validators/     # Custom validators
β”‚   β”‚   └── templates/      # Email + portfolio template sources
β”‚   β”œβ”€β”€ tests/              # Jest test suite
β”‚   β”œβ”€β”€ Dockerfile
β”‚   └── .env.example
β”‚
β”œβ”€β”€ frontend/               # React 19 + Vite 7 SPA
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ pages/          # 50+ pages grouped by pillar
β”‚   β”‚   β”œβ”€β”€ components/     # 200+ components grouped by feature
β”‚   β”‚   β”œβ”€β”€ services/       # Typed API clients
β”‚   β”‚   β”œβ”€β”€ stores/         # Zustand stores
β”‚   β”‚   β”œβ”€β”€ hooks/          # useAuth, useSocket, usePrefetch…
β”‚   β”‚   β”œβ”€β”€ constants/      # Languages, statuses, tooltips
β”‚   β”‚   β”œβ”€β”€ utils/          # resumeChecker, toneAnalyzer, shareCard…
β”‚   β”‚   └── data/           # Static data
β”‚   β”œβ”€β”€ Dockerfile
β”‚   └── .env.example
β”‚
β”œβ”€β”€ docs/                   # PROJECT_DOCUMENTATION, AI architecture, GDPR, deployment
β”œβ”€β”€ API_DOCS/               # API documentation index
β”œβ”€β”€ ARCHITECTURE.md         # System diagrams and deeper flows
β”œβ”€β”€ DATABASE_SCHEMA.md      # MongoDB schema reference
β”œβ”€β”€ firebase/               # Firestore rules + indexes
β”œβ”€β”€ activity/               # Activity tracking
β”œβ”€β”€ scripts/                # Operational scripts
β”œβ”€β”€ prometheus.yml          # Prometheus scrape config
β”œβ”€β”€ docker-compose.yml
β”œβ”€β”€ Dockerfile
└── README.md (this file)

Stack detail:

  • Backend β€” Node.js 18+, Express 4.18, Mongoose 8, Socket.IO 4, BullMQ, Bull-Board, Redis 7, Firebase Admin, Razorpay, Puppeteer, Sharp, Tesseract.js, Speakeasy, Multer, Zod, Jest
  • Frontend β€” React 19, Vite 7, TailwindCSS 4, Framer Motion, React Router 7, Zustand, React Query, Monaco Editor, Recharts, @hello-pangea/dnd, react-hot-toast, Lucide Icons
  • Infra β€” Firebase (Auth + Firestore + Storage), Redis (queues + rate limit + pub/sub), MongoDB, Prometheus metrics

🌐 Real-time, Queues & Background Work

  • Socket.IO gateway for live presence, kanban updates, post scheduling, job-alert push, outreach progress, and editor collaboration.
  • BullMQ workers for job-alert fetching (jobAlertQueue.js), outreach queue (outreachQueue.js), email queue, image processing, portfolio build, and digest emails.
  • Bull-Board UI at /admin/queues for live queue inspection.
  • Cron-scheduled weekly digest (weeklyDigestService.js), job-alert polling, GitHub repo re-sync.
  • Circuit breaker in jobFetcher.js to protect upstream APIs.

πŸ›  CLI vs Web Quick Reference

Career Pilot is primarily a web app, but the most-used flows are mirrored as frontend "Hubs" and individual routes for fast access.

Workflow Route Hub
Build / edit a resume /resume-builder /resume-hub
AI-enhance a resume /enhance /resume-hub
Generate resume from text /text-to-resume /resume-hub
Browse resume templates /resume-templates /resume-hub
View a shared resume /shared/:token β€”
Practice a mock interview /interview-prep /career-growth-hub
Review past interviews /interview-history, /interview-replay/:id /career-growth-hub
Search jobs /job-search /jobs-hub
Track applications /job-tracker /jobs-hub
Manage job alerts /job-alerts /jobs-hub
Recruiter outreach /outreach /jobs-hub
Generate a cover letter /cover-letter /career-growth-hub
Generate cold emails /email-generator /career-growth-hub
Optimize LinkedIn /linkedin-optimizer, /linkedin-dashboard /career-growth-hub
Skill-gap analysis /skill-gap /career-growth-hub
Analytics dashboard /analytics β€”
Build a portfolio /portfolio-hub /portfolio-hub
Deploy a portfolio /deployments /portfolio-hub
Community channels /community /community-hub
Fellowship challenges /fellowship/challenges /community-hub
Repo analyzer /repo-analyzer/workspace β€”
Project visualizer /project-visualizer/dashboard β€”
GitHub dashboard /github-dashboard β€”
Security & 2FA /security-settings β€”
Admin console /admin/* β€”
Live queue board /admin/queues (Bull-Board) β€”

πŸ“š Documentation

All long-form documentation lives in docs/ and at the repo root:

File Contents
docs/PROJECT_DOCUMENTATION.md Full technical map β€” frontend/backend, route groups, data models, env vars, local setup, build/test, deployment, security, troubleshooting
ARCHITECTURE.md System diagrams and deeper technical flows
DATABASE_SCHEMA.md MongoDB schema reference for every collection
docs/ai-features.md Multi-provider AI architecture, prompt engineering, skill-gap & trajectory logic
docs/user-guide.md Onboarding walkthrough + FAQ
docs/environment-setup.md Step-by-step env configuration
docs/deployment-setup.md Netlify / Cloudflare / VPS / Docker deployment
docs/creating-portfolio-themes.md How to author a new portfolio theme
docs/cdn-setup.md Cloudinary and CDN configuration
docs/component-guide.md Frontend component conventions
docs/portfolio-architecture.md Deep dive into the portfolio system
API_DOCS/README.md API documentation index
Real_life_usecase.md End-to-end user journeys
SECURITY.md Vulnerability disclosure policy
CONTRIBUTING.md / CONTRIBUTION.md Contribution guide
CICD_DETECTOR_DOCUMENTATION.md CI/CD detection internals

πŸ§ͺ Testing

# Backend
cd backend
npm test                    # Jest
npm run test:watch

# Frontend
cd frontend
npm test                    # Vitest / React Testing Library
npm run test:coverage

Tests live in backend/src/__tests__/, backend/src/services/__tests__/, and frontend/src/__tests__/.


🚒 Deployment

Career Pilot is built to deploy on the platform of your choice:

  • Frontend β€” frontend/dist/ is static; works on Netlify, Vercel, Cloudflare Pages, GitHub Pages, Firebase Hosting, or any Nginx + CDN.
  • Backend β€” Node.js process; works on Render, Railway, Fly.io, EC2, GCP Cloud Run, or your own VPS. Dockerfile is included.
  • Queues β€” Redis 7 (Upstash, Memorystore, or self-hosted).
  • Storage β€” Firebase Storage (default), Cloudinary optional.
  • MongoDB β€” Atlas recommended; self-hosted works too.

See docs/deployment-setup.md and docs/cdn-setup.md for full step-by-step instructions.


πŸ”„ Migrating from Other Tools

Coming from another platform? Career Pilot ships importers that turn your existing footprint into Career Pilot data:

From What gets imported
LinkedIn linkedinImporter.js β€” profile, headline, experience, education, skills. Maps straight into a new resume.
GitHub githubImporter.js β€” public repos, languages, contribution stats; populates Portfolio "Projects" and GitHub Dashboard.
Existing resume PDF Drop into Cover Letter generator or Text-to-Resume β€” AI extracts and structures it.
Other resume builders Import JSON or use the Resume Builder wizard to recreate; AI enhancer will close the quality gap.

After import, run the AI Enhancer and ATS Scorer to make sure the resume meets Career Pilot's quality bar.


πŸ›£ Roadmap

  • βœ… Multi-provider AI with BYOK
  • βœ… 60+ resume templates, 250+ portfolio themes
  • βœ… Audio + video mock interviews with avatar
  • βœ… Coding round with hidden test execution
  • βœ… BullMQ job-alert queue with email tracking
  • βœ… Razorpay-powered fellowship challenges
  • βœ… Repo analyzer + project visualizer
  • πŸ”² Native mobile apps (React Native)
  • πŸ”² Public Skills Hub β€” share + remix community-built prompts
  • πŸ”² Recruiter-side portal (companies post challenges, candidates apply)
  • πŸ”² Interview pair-programming rooms with live coding
  • πŸ”² Pluggable scraper marketplace
  • πŸ”² Real-time multi-user resume co-editing (Yjs)

🧠 Project Notes

  • The project is actively developed; expect weekly releases.
  • Local-only by default; cloud deploy is opt-in.
  • Firebase is the identity layer β€” configure a Firebase project before first run.
  • All AI endpoints are rate-limited per user per route.
  • Portfolio HTML is sanitized before serving; you cannot inject scripts.

🀝 Contributing

We welcome contributions from developers of all levels β€” from GSSoC first-timers to senior engineers.

Quick start for contributors

git clone https://github.com/anurag3407/career-pilot.git
cd career-pilot
npm install
cd backend && npm install && cd ..
cd frontend && npm install && cd ..

# Create a feature branch
git checkout -b feature/your-feature

# Make changes, commit, push, open a PR
git add .
git commit -m "feat(resume): add export to DOCX"
git push origin feature/your-feature

Recommended branch names

  • feature/<short-description>
  • fix/<short-description>
  • docs/<short-description>
  • ai/<short-description>
  • refactor/<short-description>

PR checklist

  • Change is described clearly in PR title and description
  • Code passes linting and local tests
  • Environment setup steps documented (if new vars introduced)
  • Breaking changes called out in the description
  • Linked to the issue it closes

Good first issues

  • Documentation improvements for setup or environment variables
  • Fixing UI/UX issues on the dashboard or resume builder
  • Backend bug fixes around authentication and job search
  • Adding a new portfolio theme (see docs/creating-portfolio-themes.md)
  • Adding a new resume template
  • Writing tests for an existing service
  • Improving AI prompt quality for a specific workflow

If you are part of GSSoC or a first-time contributor, comment on an issue or open a discussion to request mentorship.

See CONTRIBUTING.md and CODE_OF_CONDUCT.md for the full policy.


πŸ‘₯ Maintainers


πŸ’¬ Community


πŸ“„ License

Career Pilot is open-source under the MIT License β€” see LICENSE.

About

An open-source, AI-powered career platform for resume optimization, mock interviews, and job tracking, Architecture Analysis and Portfolio Builder . 🌟 Star the repo to support us! 🀝 Ready to contribute? Read CONTRIBUTION.md to get started. join the career-pilot DISCORD server https://discord.gg/dpDMVywS

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages