How joyceql/magic-resume works
Magic Resume is a browser-based resume editor. Users create or import resumes in the dashboard, edit structured content in the workbench, choose a template and theme, preview the result, and export it to PDF; resume data is autosaved locally and can sync with a user-selected directory. AI writing and grammar assistance, model configuration, PDF import, multilingual UI, and template browsing are separate product capabilities. The README documents several of these features; sampled source confirms store behavior, PDF-import requests, and AI endpoints, but does not expose all UI-to-service wiring.
Main entry points: resumes/page.tsx Resume dashboard · [id]/page.tsx Resume workbench · index.tsx Resume preview · useResumeStore.ts Resume state
Components 23
Resume creation
- Resume dashboard
src/app/app/dashboard/resumes/page.tsx - PDF import UI
src/app/app/dashboard/resumes/ImportResumeDialog.tsx - Import request client
src/lib/pdf-import-client.ts - Resume import API
src/routes/api/resume-import.ts - Resume workbench
src/app/app/workbench/[id]/page.tsx - Structured editor
src/components/editor/EditPanel.tsx
Preview and export
- Resume preview
src/components/preview/index.tsx - Template renderer
src/components/templates/index.tsx - Template registry
src/components/templates/registry.ts - PDF export
src/components/shared/PdfExport.tsx
AI assistance
- AI model settings
src/app/app/dashboard/ai/page.tsx - AI text polish
src/components/shared/ai/AIPolishDialog.tsx - Polish endpoint
src/app/api/polish/route.ts - Grammar checker
src/components/editor/grammar/GrammarCheckDrawer.tsx - Grammar endpoint
src/app/api/grammar/route.ts - AI provider config
src/config/ai-models.ts
App and persistence
- Landing page
src/app/(public)/[locale]/page.tsx - Resume state
src/store/useResumeStore.ts - Undo redo history
src/store/resumeHistory.ts - File directory sync
src/utils/fileSystem.ts - Localization
src/i18n/compat/server.ts
Other components
- Resume author
- Configured AI service
Connections 25
- Resume author → Landing page: opens
- Resume author → Resume dashboard: manages resumes
- Resume dashboard → Resume workbench: opens resume
- Resume author → PDF import UI: selects PDF
- PDF import UI → Import request client: submits images
- Import request client → Resume import API: posts request
- Resume import API → Configured AI service: requests extraction
- Resume workbench → Structured editor: edits content
- Structured editor → Resume state: updates resume
- Resume state → Undo redo history: records snapshots
- Resume state → File directory sync: syncs files
- Resume workbench → Resume preview: renders preview
- Resume preview → Template renderer: renders template
- Template renderer → Template registry: selects template
- Resume preview → PDF export: exports PDF
- Resume author → AI model settings: configures models
- AI model settings → AI provider config: reads model options
- Resume author → AI text polish: requests polish
- AI text polish → Polish endpoint: sends text
- Polish endpoint → Configured AI service: streams completion
- Resume author → Grammar checker: checks text
- Grammar checker → Grammar endpoint: sends content
- Grammar endpoint → Configured AI service: requests corrections
- Landing page → Localization: loads translations
- Resume dashboard → Localization: loads translations