Real-Time Preview
Resume Builder features a live preview that updates instantly as you edit your resume content. The preview is powered by the Universal Renderer component (~/workspace/source/src/components/Preview/Preview.tsx:9).
How Preview Works
The preview system:- Reads your current resume data and selected template
- Applies template configuration (colors, fonts, layout)
- Renders the resume using the UniversalRenderer
- Updates automatically on any data change
~/workspace/source/src/components/Preview/Preview.tsx:9
Responsive Preview Display
The preview adapts to different screen sizes:Desktop View
On screens 768px and wider, the preview appears in a sticky sidebar:~/workspace/source/src/routes/index.tsx:93
Scaling by Breakpoint:
- 768px - 1023px: 50% scale
- 1024px - 1279px: 60% scale
- 1280px+: 75% scale
Mobile View
On mobile devices, the preview is accessible via a floating button with an Eye icon:~/workspace/source/src/routes/index.tsx:171
Tapping this button opens a full-screen modal with the preview at full size.

Live Editing
All form inputs update the preview instantly without requiring a save button. This is achieved through React state management.Personal Info Live Updates
~/workspace/source/src/components/Editor/PersonalInfoForm.tsx:13
When you type in the “Full Name” field:
onChangefires with the new valueupdatePersonalInfoupdates the React state- The state change triggers auto-save to localStorage
- React re-renders the Preview component
- The preview displays the updated name
Update Function Implementation
~/workspace/source/src/hooks/useResume.tsx:78
Every keystroke triggers a state update, preview refresh, and localStorage save. This creates a seamless editing experience.
Section-Specific Customization
Each section type can have different variants based on the template. Templates define section variants in their configuration:~/workspace/source/src/templates/minimal.json:32
Available Variants
Personal Info Variants:centered: Name and contact info centered (Classic, Minimal)default: Left-aligned (Modern)
list: Simple list format (Classic)sidebar: Optimized for sidebar display (Modern)bullet-list: Bulleted format (Minimal)
default: Standard format with all detailsminimal: Condensed format with reduced spacing
Dark Mode Support
The editor interface supports dark mode through CSS custom properties:Dark mode only affects the editor UI. The resume preview always maintains the colors defined in the template configuration to ensure print accuracy.
Template Customization
Each template can be customized through its JSON configuration file. Here are the customizable properties:Theme Options
Color scheme for the template
Typography settings
Spacing configuration
Layout Options
Layout type:
"single-column" or "two-column"Column widths (two-column only): e.g.,
"35% 1fr"Sidebar position (two-column only):
"left" or "right"Print Optimization
The preview is optimized for PDF export through print media queries. When printing:- Editor UI is hidden (
no-printclass) - Full-size preview is shown (
print-onlyclass) - A4 page size is enforced (210mm width)
- Background colors are preserved
~/workspace/source/src/routes/index.tsx:111

