A dynamic, React-based application designed for generating polished, print-ready PDF CVs in real-time. This tool combines a user-friendly form engine with professional templates and a robust CV parsing system.
- Dynamic Form Engine: Categorized interface for Personal Info, Experience, Education, and Skills with real-time state updates.
- Intelligent CV Import: Rule-based parsing for
.txtand.docx(viamammoth.js) files with refined heuristic text extraction. - Advanced Image Handling: Profile picture upload with integrated cropping powered by
react-easy-crop. - Professional Templates: Three distinct layouts—Modern, Minimalist, and Executive—optimized for readability.
- Deep Customization: Adjust primary/secondary color schemes, layout settings, and modern typography selections.
- High-Quality PDF Export: 2x scale PDF generation via
html2canvasandjsPDF, featuring multi-page canvas slicing support. - State Persistence: Automatic
localStoragesaving ensures your data is never lost, with "Reset to Defaults" functionality. - Modern UI: Dark-themed senior Control Panel contrasted with a modernized "Paper" preview.
- Frontend: React 19 (Vite)
- Styling: Vanilla CSS (Surgical control over PDF layouts)
- PDF Generation:
html2canvas&jsPDF - File Parsing:
mammoth.js(DOCX extraction) - Icons:
lucide-react - Animation:
framer-motion - Image Cropping:
react-easy-crop
- Node.js (v18+)
- npm
- Clone the repository:
git clone https://github.com/bamsemats/cv-builder.git
- Install dependencies:
npm install
- Start the development server:
npm run dev
Build the project and deploy to GitHub Pages:
npm run deploysrc/components/forms/: Individual modules for CV data entry and file importing.src/components/templates/: Print-ready layout components for the PDF preview.src/constants/: Default data structures and configuration.src/App.jsx: Central state management and application logic.
- Robust CV heuristic parsing for specialized TLDs and addresses.
- Multi-page PDF export logic.
- Real-time form validation and visual feedback.
- Data Export/Import: Download/Upload CV data as
.jsonfor backup. - Advanced PDF Parsing: Investigating
pdfjs-distfor direct PDF resume reading. - Refined Professional Title Logic in heuristics.
Built with ❤️ for professional career development.