How theakashr/ai-resume-builder works
ResumeAI is a career-preparation platform whose main workflow is to build and save a resume, compare it with a target job, and use AI feedback to improve it; users can also practice interviews and access career coaching. The Next.js pages call API routes, which own validation, domain work, and persistence or external-service calls. The README documents broader capabilities, including PDF export, subscriptions, and speech analytics; these are represented at subsystem level where implementation was not sampled. The source excerpts show separate Firestore and Supabase-backed paths, so the graph keeps those stores distinct.
Main entry points: resume-assistant/route.ts Assistant API · get-session.ts Session Auth · resumes/route.ts Resume API · analyze/route.ts ATS Analysis API
Components 24
User Experience
- Career Dashboard
resume-app/src/app/dashboard/page.tsx - Resume Builder
resume-app/src/app/dashboard/resumes/builder/page.tsx - ATS Optimizer
resume-app/src/app/dashboard/ats/page.tsx - Interview Practice
resume-app/src/app/dashboard/interviews/page.tsx - Career Assistant
resume-app/src/app/dashboard/assistant/page.tsx - Template Browser
resume-app/src/app/dashboard/templates/page.tsx
Application API
- Resume API
resume-app/src/app/api/resumes/route.ts - Resume Operations
resume-app/src/app/api/resumes/[id]/route.ts - ATS Analysis API
resume-app/src/app/api/ats/analyze/route.ts - Interview API
resume-app/src/app/api/interviews/route.ts - Assistant API
resume-app/src/app/api/ai/resume-assistant/route.ts - Template API
resume-app/src/app/api/templates/route.ts - Stripe Webhook
resume-app/src/app/api/webhooks/stripe/route.ts
Career Services
- ATS Analyzer
resume-app/src/lib/ats/analyzer.ts - Interview Engine
resume-app/src/lib/interviews/engine.ts - Prompt Builder
resume-app/src/lib/ai/prompts.ts - AI Provider
resume-app/src/lib/ai/provider.ts - PDF Export
resume-app/src/lib/export/pdf-generator.ts
Identity and Data
- Session Auth
resume-app/src/lib/auth/get-session.ts - Cloud Firestore
resume-app/src/lib/firebase/firestore.ts - Supabase Data
resume-app/src/lib/supabase/server.ts
Other components
- Job Seeker
- Gemini API
- Stripe
Connections 31
- Job Seeker → Career Dashboard: uses
- Job Seeker → Resume Builder: edits resume
- Job Seeker → ATS Optimizer: requests match
- Job Seeker → Interview Practice: practices
- Job Seeker → Career Assistant: asks guidance
- Job Seeker → Template Browser: browses
- Resume Builder → Resume API: saves resume
- Resume API → Session Auth: authenticates
- Resume API → Cloud Firestore: reads/writes
- Resume Builder → Resume Operations: updates resume
- Resume Operations → Session Auth: authenticates
- Resume Operations → Cloud Firestore: reads/writes
- ATS Optimizer → ATS Analysis API: submits analysis
- ATS Analysis API → Session Auth: authenticates
- ATS Analysis API → Supabase Data: reads/writes
- ATS Analysis API → ATS Analyzer: analyzes
- Interview Practice → Interview API: creates session
- Interview API → Session Auth: authenticates
- Interview API → Cloud Firestore: reads/writes
- Career Assistant → Assistant API: requests suggestion
- Assistant API → Session Auth: authenticates
- Assistant API → Supabase Data: reads/writes
- Assistant API → Prompt Builder: builds prompt
- Assistant API → AI Provider: generates text
- AI Provider → Gemini API: calls
- Template Browser → Template API: lists templates
- Template API → Supabase Data: queries
- Resume API → PDF Export: exports PDF
- Stripe → Stripe Webhook: sends events
- Stripe Webhook → Supabase Data: updates subscriptions
- Interview API → Interview Engine: question generation