Smart Resume Agent
AI-powered job-search platform. Build a persistent master resume by voice (Story Mode + coached interview) or upload, tailor it to any job description through a four-phase agent pipeline, generate cover letters, check job-fit scores, search for matching listings, and track every application — all in one place.
Technology Stack
Python
FastAPI
Next.js 14
TypeScript
React
PostgreSQL
pgvector
LangChain
Pydantic
Whisper
Google OAuth
NextAuth.js
Docker
RAG
Semantic Search
Key Results
3 paths — upload (PDF/DOCX/text), Story Mode voice, Coached Interview
Resume Inputs
4 sequential phases with Pydantic-validated structured output at each step
Agent Phases
pgvector chunks — every rewrite is evidence-sourced, no hallucinations
Vector Store
Up to 30 × 60-second segments; optional AI coaching per segment
Voice Segments
ATS-clean PDF and DOCX download
Export
Applied → Interview → Offer → Closed pipeline with notes
Application Tracker
Standard / Better / Best + BYOK API key support
Model Tiers
24-hour tailoring sessions with persistent master resume across sessions
Session Ttl
Challenges & Solutions
- Four-phase agentic pipeline: JD keyword extraction → gap audit → resume rewrite → QA checklist, each with structured Pydantic output
- RAG over user-owned master resume chunks stored in pgvector to ground every rewrite in real experience
- Story Mode: 30 × 60-second voice segments transcribed by Whisper and optionally coached by AI follow-up questions per segment
- Coached Interview mode: AI asks up to 15 structured career questions with dynamic follow-ups, answered by voice or text
- BYOK (bring-your-own-key) model tier switcher — Standard / Better / Best — with per-request API key routing
- Session TTL management (24-hour tailoring sessions) with frontend warning banners and server-side cleanup
- Semantic job-fit score before spending a credit, preventing wasted tailoring runs on poor-match listings
- Export pipeline producing ATS-clean PDF and DOCX from structured resume data without visual templates
Project Stats
1
Team Member
3
Months