How sathishlella/ats-ai-resume-builder works
ATS AI Resume Builder turns an uploaded or pasted resume and a job description into match insights and tailored resume or cover-letter drafts, with DOCX/PDF downloads. The dashboard is the main user workflow; sampled code confirms its score, aggressive-generation, and export requests, while the README documents the broader capabilities. Parsing, AI generation, scoring, and export are distinct stages. Some UI-to-route wiring and unsampled subsystems are represented only where supported by the tree or documentation.
Main entry points: page.tsx Resume dashboard · aggressive/route.ts Aggressive generation · generate/route.ts Resume and cover generation · ai.ts AI API client
Components 25
User experience
- Resume dashboard
app/dashboard/page.tsx - Resume upload
components/UploadDropzone.tsx - Resume editor
components/Editor.tsx - Keyword insights
components/KeywordHints.tsx - Match score card
components/MatchScoreCard.tsx - 3D landing visuals
components/ThreeHero.tsx - 3D canvas
components/ThreeVariantCanvas.tsx
Resume analysis
- Resume parser
app/api/parse/route.ts - Match scoring
app/api/score/route.ts - Scoring logic
lib/scoring.ts
AI generation
- Resume and cover generation
app/api/generate/route.ts - Aggressive generation
app/api/generate/aggressive/route.ts - JD keyword extraction
lib/keywords.ts - AI API client
lib/ai.ts
Document export
- DOCX export
app/api/export/docx/route.ts - DOCX templates
lib/templates.ts - PDF export
app/api/export/pdf/route.ts - PDF formatting
lib/pdf.ts
Usage and logging
- Resume email logging
lib/emailLog.ts - Email statistics
app/api/email/stats/route.ts - Usage tracking
lib/usage.ts - Usage statistics
app/api/usage/stats/route.ts
Other components
- Job seeker
- OpenAI-compatible AI
- Vercel Blob
Connections 26
- Job seeker → Resume dashboard: uses
- Resume dashboard → Resume upload: renders
- Resume dashboard → Resume editor: renders
- Resume dashboard → Match score card: renders
- Resume dashboard → Keyword insights: renders
- Resume dashboard → 3D landing visuals: landing visuals
- 3D landing visuals → 3D canvas: renders
- Resume dashboard → Match scoring: requests score
- Match scoring → Scoring logic: uses
- Resume dashboard → Aggressive generation: requests generation
- Aggressive generation → JD keyword extraction: extracts terms
- Aggressive generation → AI API client: requests completion
- Resume dashboard → Resume and cover generation: generates drafts
- Resume and cover generation → JD keyword extraction: extracts terms
- Resume and cover generation → AI API client: requests completion
- AI API client → OpenAI-compatible AI: calls
- Resume upload → Resume parser: submits resume
- Resume parser → Resume email logging: logs extraction
- Resume dashboard → DOCX export: requests DOCX
- DOCX export → DOCX templates: builds document
- Resume dashboard → PDF export: requests PDF
- PDF export → PDF formatting: uses formatting
- Aggressive generation → Usage tracking: logs usage
- Usage statistics → Usage tracking: reads stats
- Email statistics → Vercel Blob: reads records
- Resume email logging → Vercel Blob: writes records