CV Profiles
A CV Profile (cv_profiles) is the core entity in CVFox. It holds all structured data for a user's CV and controls which PDF/web template is used to render it.
Data Structure​
All structured content is stored as typed JSONB columns. TypeScript types for each column are exported from src/db/schema.ts.
Templates​
PDF Templates​
| ID | Name | Plans |
|---|---|---|
classic | Classic | Free, Pro |
minimal | Minimal | Free, Pro |
modern | Modern | Pro |
creative | Creative | Pro |
executive | Executive | Pro |
PDF rendering uses @react-pdf/renderer. Template components live in src/lib/pdf/.
Web Templates​
| ID | Name | Plans |
|---|---|---|
starter | Starter | Free, Pro |
elegant | Elegant | Free, Pro |
portfolio | Portfolio | Pro |
developer | Developer | Pro |
sidebar | Sidebar | Pro |
neon | Neon | Pro |
Web templates are rendered via Puppeteer. HTML previews live in public/samples/template-previews/.
CV Lifecycle​
Translations​
A CV can have translated field overrides stored in the translations JSONB column (CvTranslations). This allows the same profile to be rendered in a different language without duplicating the profile. Translation generation is an AI-assisted feature.
Limits by Plan​
| Plan | Max CVs | Templates | Custom Colors |
|---|---|---|---|
| Free | 1 | classic, minimal | No |
| Pro | Unlimited | All | Yes |
See Billing for full plan limits.