JobPilot AI
Full-stack AI job copilot — automated discovery, AI match scoring, and interview prep
Overview
A production-ready personal AI job copilot that discovers jobs, ranks them with AI match scoring, generates tailored applications, tracks the pipeline, and prepares candidates for interviews — built with Next.js 15, BullMQ-backed background job processing, and Gemini AI.
Problem
Manual job search requires checking multiple boards, tailoring applications by hand, and preparing for each interview independently — a time-consuming process with no unified pipeline view.
Solution
A full-stack SaaS that automates job discovery, applies Gemini AI for match scoring against candidate profiles, generates tailored application materials, and runs interview prep — all coordinated by BullMQ background jobs with Redis caching.
Architecture
- 1Next.js 15 App Router frontend with job pipeline dashboard
- 2Gemini AI match scoring — candidate profile vs job description compatibility analysis
- 3BullMQ background job processing — async job discovery, scoring, and application generation
- 4Redis caching — session state, job search results, and match score memoization
- 5PostgreSQL — job pipeline state, application tracking, and candidate profiles
Technical Challenges
- Designing BullMQ job queues that handle AI API rate limits gracefully without losing queued work.
- Match scoring that produces explainable results — not just a percentage but specific skill gap analysis.
Results
- Production-hardened through two sprint cycles improving auth, Docker deployment, and API reliability.
- Full async AI job processing pipeline with Redis-backed caching for performance.