How lingyichen-ai/jadeai works
JadeAI is an AI-assisted resume builder, with adjacent mock-interview, recruiting, and professional-photo features. The main workflow is to create or import a resume, edit and optimize it, then export or share it. The graph captures documented capabilities and links confirmed by the sampled API handlers; UI-to-API wiring and unsampled subsystem internals are represented only where the product structure supports them, not as detailed call chains.
Main entry points: resume.repository.ts Resume repository · generate-resume/route.ts AI resume tools · parse/route.ts Resume parsing · helpers.ts Authentication
Components 24
Resume Workflow
- Resume dashboard
src/app/[locale]/dashboard/page.tsx - Resume editor
src/app/[locale]/editor/[id]/page.tsx - Resume API
src/app/api/resume/route.ts - Resume detail API
src/app/api/resume/[id]/route.ts - Resume preview
src/components/preview/resume-preview.tsx
AI Services
- AI resume tools
src/app/api/ai/generate-resume/route.ts - Resume parsing
src/app/api/resume/parse/route.ts - AI provider config
src/lib/ai/provider.ts - AI capabilities
src/lib/ai - Photo generation
src/app/api/linkedin-photo/route.ts
Interview & Recruiting
- Mock interview
src/app/[locale]/interview/[id]/page.tsx - Interview API
src/app/api/interview/route.ts - Recruiting workspace
src/app/[locale]/recruit/[jobId]/page.tsx - Recruiting API
src/app/api/recruit/jobs/route.ts
Data & Identity
- Authentication
src/lib/auth/helpers.ts - Resume repository
src/lib/db/repositories/resume.repository.ts - Interview repository
src/lib/db/repositories/interview.repository.ts - Recruit repository
src/lib/db/repositories/recruit.repository.ts - SQLite / PostgreSQL
src/lib/db
Export & Sharing
- Resume export
src/app/api/resume/[id]/export/route.ts - Resume sharing
src/app/api/resume/[id]/shares/route.ts - Shared resume page
src/app/[locale]/share/[token]/page.tsx
Other components
- Resume user
- External AI models
Connections 37
- Resume user → Resume dashboard: manages resumes
- Resume dashboard → Resume API: creates or lists
- Resume user → Resume editor: edits resume
- Resume editor → Resume detail API: saves changes
- Resume user → Resume parsing: uploads resume
- Resume user → AI resume tools: requests generation
- AI resume tools → Authentication: resolves user
- Resume parsing → Authentication: resolves user
- Resume API → Authentication: resolves user
- Resume detail API → Authentication: resolves user
- AI resume tools → AI provider config: configures model
- Resume parsing → AI provider config: reads AI config
- AI resume tools → External AI models: generates content
- Resume parsing → AI capabilities: parses file
- AI capabilities → External AI models: uses model
- AI resume tools → Resume repository: creates resume
- Resume parsing → Resume repository: creates parsed resume
- Resume API → Resume repository: reads and writes
- Resume detail API → Resume repository: reads and updates
- Resume repository → SQLite / PostgreSQL: persists data
- Resume editor → Resume preview: previews layout
- Resume user → Resume export: exports resume
- Resume export → Resume repository: loads resume
- Resume user → Resume sharing: creates share link
- Resume sharing → Resume repository: loads resume
- Shared resume page → Resume sharing: loads shared resume
- Resume user → Mock interview: practices interview
- Mock interview → Interview API: starts session
- Interview API → Authentication: resolves user
- Interview API → Interview repository: creates session
- Interview repository → SQLite / PostgreSQL: persists sessions
- Resume user → Recruiting workspace: manages candidates
- Recruiting workspace → Recruiting API: manages jobs
- Recruiting API → Recruit repository: stores recruiting data
- Recruit repository → SQLite / PostgreSQL: persists data
- Resume user → Photo generation: requests photo
- Photo generation → External AI models: generates image