How phani-manda/resumate works
ResumeAI is a career platform whose main workflows are creating and saving resumes, uploading a resume for ATS analysis against a job description, and getting career advice through a streaming coach chat. The dashboard summarizes resume, optimization, and chat activity. The graph includes the documented builder, optimizer, coach, analytics, and PDF capabilities. Some UI-to-feature wiring and the database schema are not shown in the sampled source, so those connections are omitted; the database node represents the PostgreSQL store documented by the README.
Main entry points: db.ts Prisma client · optimize/route.ts ATS analysis API · useOptimizer.ts Optimizer workflow · chat/route.ts Streaming chat API
Components 26
App entry
- Landing page
src/app/page.tsx - Builder page
src/app/builder/page.tsx - Optimizer page
src/app/optimizer/page.tsx - Coach page
src/app/coach/page.tsx - Dashboard page
src/app/dashboard/page.tsx
Resume workflows
- Builder state
src/components/builder/useResumeBuilder.ts - Builder interface
src/components/ResumeBuilderRefactored.tsx - Resume collection API
src/app/api/resumes/route.ts - Resume item API
src/app/api/resumes/[id]/route.ts - PDF export API
src/app/api/generate-pdf/route.tsx - PDF document
src/components/builder/ResumePDFDocument.tsx
Career tools
- Optimizer workflow
src/components/optimizer/useOptimizer.ts - Optimizer interface
src/components/AIOptimizerRefactored.tsx - Resume parsing API
src/app/api/upload/parse/route.ts - ATS analysis API
src/app/api/ai/optimize/route.ts - Career coach chat
src/components/CareerCoachChat.tsx - Streaming chat API
src/app/api/ai/chat/route.ts - Chat history API
src/app/api/ai/chat/history/route.ts - Message reaction API
src/app/api/ai/chat/messages/[id]/reaction/route.ts - Dashboard stats hook
src/hooks/useDashboardStats.ts - Dashboard stats API
src/app/api/dashboard/stats/route.ts
Persistence
- Prisma client
src/lib/db.ts - PostgreSQL
Other components
- User
- Clerk auth
- Groq AI
Connections 28
- User → Landing page: opens
- User → Builder page: opens
- User → Optimizer page: opens
- User → Coach page: opens
- User → Dashboard page: opens
- Builder state → Resume collection API: creates / lists
- Builder state → Resume item API: loads / updates
- Optimizer workflow → Resume parsing API: uploads resume
- Optimizer workflow → ATS analysis API: requests analysis
- Optimizer workflow → Resume collection API: loads / saves
- PDF export API → PDF document: renders
- Resume parsing API → Clerk auth: authenticates
- ATS analysis API → Clerk auth: authenticates
- Streaming chat API → Clerk auth: authenticates
- Chat history API → Clerk auth: authenticates
- Message reaction API → Clerk auth: authenticates
- Dashboard stats API → Clerk auth: authenticates
- Resume parsing API → Groq AI: extracts fields
- ATS analysis API → Groq AI: analyzes resume
- Streaming chat API → Groq AI: streams advice
- Resume collection API → Prisma client: reads / writes
- Resume item API → Prisma client: reads / writes
- ATS analysis API → Prisma client: stores report
- Streaming chat API → Prisma client: stores messages
- Chat history API → Prisma client: reads / deletes
- Message reaction API → Prisma client: updates reaction
- Dashboard stats API → Prisma client: queries metrics
- Prisma client → PostgreSQL: queries