
Template details
cvgen
Local-first CLI and web editor that generates professional CVs as HTML or PDF from JSON data and Handlebars templates.
About this template
cvgen (Jobpare CV Generator) is a local-first tool for producing professional résumés from JSON data and HTML templates, rendered to HTML or print-ready PDF.
What is cvgen?
cvgen takes a single JSON file describing a person's profile, summary, work experiences, education, skills, projects, certifications, and languages, and merges it with a Handlebars HTML template to produce a finished CV. Output is either a browser-friendly HTML file or a PDF generated through Puppeteer when Chrome/Chromium is available. The project runs on Node.js 18+ and ships both a command-line generator and a browser-based visual editor hosted on GitHub Pages.
Key Features
- JSON data input — the whole CV lives in one version-control-friendly JSON file with a defined schema (profile, summary, experiences, education, skills, projects, certifications, languages).
- HTML and PDF output — the CLI writes
.htmldirectly or converts to.pdfvia Puppeteer;--html-onlyforces HTML even with a.pdfextension. - Web-based editor — an online editor at jobpare.github.io/cvgen/ with a form view, a raw JSON view, and live preview; changes autosave to localStorage under the key
cvgen_{job_id}. - CLI tool —
node src/generate.js generate -t <template> -i <input.json> -o <output>with options--html-only,--validate-only, and--help. - Template 1 — a single-column, responsive, print-optimized Handlebars template with color-coded sections and skill tags, backed by a published Figma design.
- URL-driven data loading — the
?data=parameter loads a localStorage job ID, a preloaded example such asbackend-cv-schema, or an external URL. - Preloaded examples — backend developer and frontend developer JSON schemas are preloaded into localStorage for offline and fast access.
- postMessage integration — external apps can open the editor and push CV JSON with a
SET_CV_JSONmessage; no response is returned.
Who is it for?
- Developers: maintain a CV as a JSON file in Git and regenerate HTML or PDF from the command line on each update.
- Designers and professionals who prefer visuals: use the browser editor with live preview instead of editing code.
- Product teams integrating CV editing: embed the hosted editor via postMessage and send candidate data programmatically.
What can you do with cvgen?
- Automate CV builds: run the CLI in scripts to regenerate HTML or PDF output from a stored JSON file.
- Draft in the browser: edit fields in the form editor or paste raw JSON, preview instantly, then download the JSON.
- Validate before generating: use
--validate-onlywith the bundled schema (src/validation/schema.js) to catch malformed data first. - Load remote CV data: point
?data=at an external URL so an API can feed CV content into the editor.
How does cvgen work?
- Write or load a CV JSON file (examples are provided for backend and frontend roles).
- Optionally open the web editor to edit and preview, then download the JSON.
- Run the CLI with a template and input file to produce HTML or PDF in the
output/directory.
Pros and cons
- Pro: no LaTeX distribution needed — only Node.js and, for PDF export, Chrome/Chromium.
- Pro: data is plain JSON that diffs cleanly in Git.
- Con: PDF generation depends on Chrome/Chromium; without it you fall back to HTML output.
- Con: only one template (
template-1.html) is listed in the repository.
Pricing
cvgen is open source and licensed under the MIT License.















