A resume builder for one person is a form, a handful of print-ready templates and a PDF printer, and an agent can build that in one session. Free open-source tools such as Reactive Resume and RenderCV show how far it goes. What you give up is Kickresume's larger set of designed templates, the ATS checker and the mobile apps; the AI writer comes back with any LLM key you already have.
Before you buildKickresume Free lets you download as often as you like with its 4 free templates. If those fit, you may not need to pay at all.
Build me a resume and cover letter builder to replace Kickresume. Requirements: - Node.js 22 + TypeScript: a Fastify server and a React UI built with Vite. `npm start` serves http://localhost:4900. - Storage: one JSON file per resume in ./data/resumes/ using a JSON Resume style schema (basics, work, education, skills, projects, languages), plus ./data/profile.json as a master copy of everything you have done, so each resume picks entries from it instead of retyping them. - Templates: three single-column, ATS-safe HTML/CSS templates (classic, compact, modern), chosen per resume, with an accent colour, a font choice and a warning in the editor when the content spills past one page. - Editor: form on the left and live preview on the right; add, remove and drag-reorder sections and bullets; "Duplicate" makes a copy to tailor for one job posting. A second editor writes cover letters that reuse the resume's basics and template. - Export: PDF through Playwright (Chromium, A4 or Letter, selectable text rather than an image) to ./out/<name>.pdf, DOCX with the `docx` package, and the raw JSON. A test checks that the sample resume exports to a one-page PDF whose text can be extracted. - AI help (optional): OPENAI_BASE_URL, OPENAI_API_KEY and MODEL in .env. "Tighten these bullets" and "Draft a letter from this posting" send only the selected text and the pasted posting; with no key set, the buttons are hidden. - Import: read a PDF (`pdf-parse`) or DOCX (`mammoth`) into an editable draft. - Single user. No accounts, no telemetry, local-first: only the optional AI calls leave the machine. - Out of scope: more than three templates, job-application tracking, a hosted public resume page, mobile apps. - README: setup (Playwright downloads its own Chromium on first install), the .env keys, where the data lives, how to back it up and how to add a template.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Kickresume.
Add job-posting tailoring to the resume builder in this folder. Requirements: - A "Tailor" button on a resume opens a box for the pasted posting and the company name. - Send the posting and the resume JSON to the configured LLM and ask for edits as a JSON patch (reordered bullets, reworded bullets, a new summary), never new facts about me. - Show the patch as a diff next to the resume; I accept or reject each change, and accepted changes are saved to a duplicate named "<resume> - <company>". - Reject any patch that adds an employer, a date, a number or a skill missing from profile.json. - Update the README.
Add a parse check to the resume builder in this folder. Requirements: - A "Check" button exports the PDF, extracts its text with `pdfjs-dist` and lists problems: text in the wrong reading order, missing section headings, dates it can't parse, and characters that extract as boxes. - With a pasted job posting, also list the posting's keywords that never appear in the resume, ignoring stop words, sorted by how often the posting repeats them. - Show everything as a plain list with the line of text each warning refers to. - Add tests with one good and one deliberately broken resume. - Update the README.
Add a static personal site export to the resume builder in this folder. Requirements: - `npm run site -- <resume>` writes ./site/index.html and ./site/style.css from the resume JSON: name, summary, experience, projects, links and a mailto button. - No JavaScript, a print stylesheet, Open Graph tags, and everything on one page. - A theme switch between light and dark through `prefers-color-scheme`. - Include a deploy note for GitHub Pages and for any static host in the README.
A job hunt is short and stressful, and a finished-looking resume with a matching cover letter in one evening beats designing templates yourself. The page itself says most searches take three to six months, so most people only need Premium for a month or a quarter.
Estimate · Runs on your laptop at no cost. Only the optional AI buttons spend anything, a few cents per rewrite on a pay-as-you-go key and nothing with a local model. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | 4 resume templates, unlimited downloads, customization options not marked as paid. |
| Premium | $24 | $8 | 40+ resume and 40+ cover letter templates, all colors and typefaces, AI Writer, ATS Resume Checker, Career Map, LinkedIn and PDF import, iOS and Android apps, 7 personal website templates, priority email and chat support. |
Free covers building and downloading resumes with 4 templates and the unlabelled customization options; paid options are marked inside the editor.
Yes. An AI coding agent such as Claude Code, Codex or Cursor can build a usable personal version in one session with the prompt on this page, running on your own machine.
About $24 a month on the Premium, monthly plan, $288 a year (checked 2026-10-19).
Dozens of templates tuned by designers, with matching cover letters; The ATS checker that compares your resume with other resumes in Kickresume's database; Career Map suggestions based on your skills; The iOS and Android apps and one-click LinkedIn import; A ready-made personal website built from your resume. If any of those matter to you, keep paying.
Yes: Reactive Resume (open source), RenderCV (open source), Resume Matcher (open source).