Show HN: Local-first resume generator with in-browser PDF rendering
resume.journy.liveBuilt this while applying to various jobs.
I was using Claude to generate different resume variants for roles (Flutter, WordPress, fullstack, Python backend, agentic AI/RAG). It worked pretty well, but I kept hitting limits — both in control and credits. I also wanted something more consistent when tailoring resumes for specific job posts.
So I built this.
Key points:
* Multiple variants from one base
* Client-side PDF rendering (PDFKit in browser, no server)
* Local-first PWA, works offline
* JSON import/export
* FOSS (open to PRs for templates/features)
Live demo: https://resume.journy.live
Repo: https://github.com/qmanas/resume-builder-react
Workflow:
Import: use any chat-based AI with your resume + the prompt in the app to generate a JSON version, then import it.
Create variant: load master → make changes → “Save Preset” → name it (e.g. flutter)
Update variant: load variant → edit → “Save Preset” → confirm overwrite
No login, no data leaves your browser.
Curious what people think about the idea and execution. The local-first approach is a smart call here — resumes have personal info you really don't want sitting on someone else's server. And the variant system solves a real pain point. I used to keep a folder of slightly different PDFs and constantly mix up which one I sent where. One thing I'd find useful: a diff view between variants. When you have 5+ versions it gets hard to remember what you changed in each one. Even just highlighting the fields that differ from the master would go a long way. Nice work shipping this as a PWA too — offline resume editing is one of those things you don't think you need until you're on a flight trying to tweak something before landing. Here's a quick demo of creating and switching variants: https://www.loom.com/share/b008eed1ce294a74b2ba4f9a30d07ac6Q... 20s This is a really clean take on a problem a lot of us quietly struggle with.. i love it Good stuf!