Sobre el proyecto

Rezuma is an open-source, client-side resume builder designed to ensure that resumes are not only visually appealing but also machine-readable by Applicant Tracking Systems (ATS). Unlike typical builders that rely on visual previews, Rezuma focuses on the actual text extraction process, guaranteeing that the exported PDF contains selectable, searchable, and extractable vector text rather than rasterized images. **Key Features** - **Real PDF Export**: Uses `jsPDF` to draw documents with embedded fonts, ensuring high fidelity and text integrity. - **ATS Verification**: Includes a `verify:pdf` script that generates PDFs and uses `pdf.js` to extract text, asserting that all critical information (names, dates, skills) survives the round trip, including complex scripts like Arabic. - **Live ATS Checks**: Provides real-time feedback on date parseability, timeline gaps, keyword coverage, and bullet point structure. - **Multilingual & RTL Support**: Supports English, French, and Arabic. Arabic is handled with proper right-to-left shaping and reordering in the PDF, not just mirrored on screen. - **Privacy-First**: No server, no accounts, no analytics. All data is stored in the browser's `localStorage`. PDFs are generated locally and never uploaded. **Technical Implementation** - **Stack**: Vue 3, TypeScript, Vite, jsPDF, pdf.js. - **Fonts**: Vendored TrueType fonts (Source Serif/Sans, Noto Arabic) to ensure compatibility with jsPDF, which cannot embed woff2. - **Layout Engine**: A custom two-pass typesetter (`layout.ts`) that handles pagination and keeps related elements together (e.g., job titles with dates). It supports four layouts: Stacked, Side Headings, Timeline, and Sidebar. - **RTL Handling**: Implements logical coordinates for layout code to serve both LTR and RTL directions seamlessly. Arabic text is shaped using Presentation Forms-B and normalized during extraction to match parser expectations. **Deployment** Rezuma is a static site, easily deployable to platforms like Cloudflare Workers, Vercel, or Netlify. It includes specific configurations for handling SPA routing and caching headers.