v3.22.0 – Document Exporter Parity, Profile Imports, Multi-Page Portfolios & Campus Ambassador Program
🚀 v3.22.0
VeriWorkly v3.22.0 brings together several weeks of work across the entire stack. This release updates the core workspace architecture, adds profile import tools, fixes section ordering across resume exports, introduces multi-page portfolios with new templates, and rolls out an ambassador program and a public ATS scanner.
Highlights
- Dynamic section ordering in PDF exports and live previews
- LinkedIn and GitHub profile imports in the resume creation modal
- Visual parity test suite measuring DOM and PDF rendering consistency
- Multi-format document export engine supporting PDF, Word docx, and styled HTML
- Nimbus and Cipher portfolio templates with multi-page route management
- Interactive Campus Ambassador portal with earnings calculator and share toolkit
- ATS report shaping background worker pool and Redis time-series invalidation
- Free public ATS resume scanner on the marketing website
- Live product roadmap and GitHub-synced changelog engine
- Structured JSON-LD schema markup (Person, WebSite, ProfilePage) on portfolio subdomains
New Features & Improvements
Studio and document export
- Dynamic section ordering in PDF and preview (PR #189): Fixed a bug where reordering sections in the editor did not update the live preview or PDF export. The export engine now respects custom section order across all resume templates.
- LinkedIn and GitHub profile imports (PR #188): You can now start a new resume by importing data directly from connected LinkedIn or GitHub profiles inside the creation modal.
- Visual parity test suite: Added headless automated layout checks that compare DOM measurements against generated PDF outputs. This keeps spacing, column wraps, and font metrics identical between the browser preview and the exported document.
- Multi-format export engine: Rebuilt the document generation pipeline to support clean PDF export via
@react-pdf/renderer, Word export viadocx, and responsive HTML exports that retain custom color themes. - Admin dashboard boundaries: Added dedicated error and loading boundaries for the studio admin dashboard, improving stability when viewing user records or workspace telemetry.
- Login screen showcase (PR #187): Added interactive showcase cards to the sign-in page to explain local-first storage and cloud backup features before login.
Portfolio app
- SSR-seeded store initialization: Reworked how the portfolio state hydrates. Instead of loading an empty store on the client and flashing placeholder content, the store now initializes during server rendering with request-scoped bootstrap data.
- New templates (Nimbus and Cipher): Added two new portfolio designs to the template library alongside Signal and Atelier. Nimbus focuses on an editorial content grid, while Cipher offers a clean, technical layout for developers.
- Multi-page portfolio support: Portfolios can now have multiple pages, custom sub-route slugs, and dedicated section assignments.
- Template guidelines and FAQs (PR #166): Added detail views, styling notes, and usage tips for each portfolio template.
- Structured data and SEO: Added JSON-LD schema markup (
Person,WebSite,ProfilePage) and dynamic Open Graph image generation to public portfolio subdomains. - Footer layout fix (PR #178): Fixed a CSS flex issue on mobile viewports that caused portfolio footer links to stretch vertically.
Server and infrastructure
- ATS report shaping worker pool: Moved heavy PDF text extraction and scoring jobs into a background worker pool so they do not block incoming API requests.
- Redis time-series cache invalidation: Set up automatic cache invalidation for user sessions, tokens, and analytics whenever profile or workspace data changes.
- Modular mail service (PR #185): Reorganized transactional emails into modular handlers with dedicated templates for Welcome, One-Time Password (OTP) verification, and Login Alerts.
- Shared backend library migration (PR #186): Standardized error classes, logging formats, and Redis helper utilities across all server services.
- Ambassador program and feature flags (PR #190, PR #191): Added backend endpoints, tracking logic, and role-based feature gating for the affiliate and campus ambassador programs.
- Security hardening: Improved IPv6 loopback validation on file inspection routes to block potential SSRF vectors.
Marketing site and documentation
- Free public ATS checker: Added a standalone resume scanner on the marketing site that provides instant section-by-section keyword extraction and formatting feedback.
- Live changelog and roadmap: Added an in-app product changelog and roadmap view that pulls directly from GitHub milestones.
- Competitor comparison matrix and template explorer: Added side-by-side comparison tables and interactive template preview sliders.
- Brand kit center: Launched a public brand page with downloadable logos, color tokens, and typography guidelines.
- OpenAPI specs and documentation platform: Updated public API reference documentation with new schemas and endpoints.
Full Changelog
- #191 — [Feature] [Server/Studio]: add ambassador program and feature flag middleware
- #190 — [Refactor] [Server/Studio]: modularize affiliate service and studio components
- #189 — [Bug] [Studio]: dynamic section ordering in resume preview and PDF export (#135)
- #188 — [Feature] [Studio]: add profile imports and improve authentication-gated experiences
- #187 — [Feature] [Site]: enhance login experience with showcase section and SEO improvements
- #186 — [Refactor] [Server]: migrate services to new shared library structure
- #185 — [Feature] [Server]: modularize mail services and add dedicated email workflows
- #178 — [Fix] [Portfolio]: Constrain footer link height
- #166 — [Feature] [Portfolio]: enhance template details with FAQs, guidelines, and improved loading
❤️ Contributors
Thank you to everyone who contributed code to this release:
Thank you for using VeriWorkly!