Resumv is an MIT-licensed resume editor built with Astro and React. Its deployment model is deliberately small: build the project, serve the static output, and let the browser handle resume editing and exports. There is no user database or authentication service to operate.
Source and setup instructions: https://github.com/liusha-com/resumv
What comes from upstream
Resumv adapts Reactive Resume's 15 templates, PDF rendering support, schemas, and sample resumes. The upstream copyright and license notices are preserved. It is an independent adaptation, not an official Reactive Resume release. The focus here is the static deployment and local-storage workflow, rather than claiming to have invented those templates.
Where the work happens
Astro builds the site's pages and assets. React handles the interactive editor. Resume content is saved to localStorage in the current browser, while PDF generation and preview run client-side with React PDF and PDF.js. DOCX, Markdown, and JSON exports also run in the browser.
That means there is no server-side resume record to synchronize or PDF worker service to maintain. A static host serves the application files; the user's device does the document work. Browser performance and storage behavior therefore matter directly to the experience.
Build and serve
With Node.js 22.12 or later and Bun installed:
git clone https://github.com/liusha-com/resumv.git
cd resumv
bun install --frozen-lockfile
bun run build
Serve the generated dist/ directory through a static web server. Before deploying your own instance, follow the README instructions for updating the site URL, repository links, and hosting configuration. The repository includes Cloudflare deployment configuration, but the build output is static files.
The trade-offs are part of the design
Local storage is not cloud sync or an encrypted vault. It is tied to a browser profile and origin. Clearing site data or changing devices can make a resume unavailable. JSON export and import provide an explicit backup and transfer workflow, so keeping a backup matters.
The PDF preview is the reference for the PDF export. DOCX is an editable document and can differ in decoration and pagination. Current bundled fonts primarily support Latin-script resumes; complete Chinese typography support is not available yet.
There is also a current editor behavior to be aware of: selecting a template card loads its complete example, including content. Undo can restore the previous content, and exporting a JSON backup first is prudent. Separating template changes from loading examples is an obvious area for improvement.
Local processing does not mean zero network requests
Resume content is not sent to a resume-processing backend or an external AI provider. Fonts are bundled locally. However, the interface fetches public GitHub star and commit metadata, and the host still receives normal page and asset requests. Those requests should not be confused with uploading the resume itself.
Feedback that would help
For people who self-host small tools: are the build and deployment steps clear enough to reproduce? For people editing resumes: does the JSON backup/restore workflow make sense, and where does exporting become awkward?
Issues and pull requests are welcome in the repository. Please use fictional or anonymized resume examples when reporting problems.
Disclosure: this article was generated with AI assistance from the project's documented behavior. AI tools have also assisted with development and documentation.
Top comments (0)