CareerPilot AI
Category
full-stack
/
/
An AI-powered career intelligence platform that analyzes resumes, matches jobs from live job boards, and shows exactly which skills users are missing for each role. Built as a solo 10-week full-stack project with Java 21, Spring Boot 3.3, Next.js 14, PostgreSQL, Redis, and OpenAI.

CareerPilot AI is an AI-powered career intelligence platform built to solve a real problem: job seekers waste time applying to hundreds of jobs without knowing which ones they're actually qualified for. The platform analyzes a resume, extracts skills using OpenAI, matches jobs from live job boards, and shows the user exactly which skills they're missing for each role — all in one unified application. Built as a solo 10-week project from architecture through production deployment.


The backend runs on Java 21 with Spring Boot 3.3, using clean architecture to keep business logic, external adapters, and REST controllers completely separated. PostgreSQL stores user data, resumes, and application history; Redis caches job searches and AI match scores to keep OpenAI costs under control. Resume parsing is asynchronous — the API returns immediately with a job ID, then processes the file in the background and extracts structured skills as JSON. Job matching uses a cache-aside pattern: check Redis first, then call OpenAI only on cache miss, then store the result for 24 hours. The frontend is built with Next.js 14 using TypeScript strict mode, React Hook Form for validation, and TanStack Query to handle polling for async resume parse status. Authentication uses JWT stored in httpOnly cookies with refresh token rotation on every use. Security was audited in detail: password hashing with BCrypt cost 12, rate limiting on login after 5 failed attempts, CORS locked to the exact frontend URL, all security headers configured, file uploads validated by MIME type detection not extension. File storage lives on Cloudflare R2 with object keys generated as UUIDs to prevent path traversal. The entire stack deploys via GitHub Actions CI/CD: tests run on every PR, code deploys to Railway (backend) and Vercel (frontend) on merge to main. Test coverage exceeds 70% on the service layer using JUnit 5 and TestContainers for real PostgreSQL integration tests. Metrics were measured in staging: resume parsing accuracy >75% tested on real resumes, AI match score latency <8 seconds on first call and <300ms on cached hits, profile completion rate targeted at >70%, application tracker adoption at >50% of active users.

Repository: https://github.com/Adnxnn16/CareerPilot-AI
Stack: Java 21, Spring Boot 3.3, Next.js 14, PostgreSQL, Redis, OpenAI GPT-4o-mini, Cloudflare R2, Railway, Vercel, Docker, GitHub Actions
Deployment: Live at [Vercel URL]
Test Coverage: >70% via JaCoCo

