| ▲ | Show HN: RenderCV – Open-source CV/resume generator, YAML to PDF(github.com) | ||||||||||||||||||||||
| 70 points by sinaatalay 14 hours ago | 39 comments | |||||||||||||||||||||||
I built RenderCV because Word kept breaking my layout and LaTeX was overkill. I wanted my CV as a single YAML file (content, design, margins, everything) that I could render with one command. Run rendercv render cv.yaml → get a perfectly typeset PDF. Highlights: 1. Version-controllable: Your CV is just text. Diff it, tag it. 2. LLM-friendly: Paste into ChatGPT, tailor to a job description, paste back, render. Batch-produce variants with terminal AI agents. 3. Perfect typography: Typst under the hood handles pixel-perfect alignment and spacing. 4. Full design control: Margins, fonts, colors, and more; tweak everything in YAML. 5. Comes with JSON Schema: Autocompletion and inline docs in your editor. Battle-tested for 2+ years, thousands of users, 120k+ total PyPI downloads, 100% test coverage, actively maintained. GitHub: https://github.com/rendercv/rendercv Docs: https://docs.rendercv.com Overview on RenderCV's software design (Pydantic + Jinja2 + Typst): https://docs.rendercv.com/developer_guide/understanding_rend... I also wrote up the internals as an educational resource on maintaining Python projects (GitHub Actions, packaging, Docker, JSON Schema, deploying docs, etc.): https://docs.rendercv.com/developer_guide/ | |||||||||||||||||||||||
| ▲ | smnrchrds 6 hours ago | parent | next [-] | ||||||||||||||||||||||
First of all, thank you for making this. I used it in my recent job search and it was fantastic. Second, if I may make a request, could you please follow SemVer? I tried rendering my resume again last week, only 3 or 4 months after having made it originally with RenderCV version 2 point something I cannot recall, and it would not work. The design schema and perhaps also the CLI options have changes so much that I expect I would need to spend 2 to 4 hours getting it to work again, and there is no guarantee that it would not break again in another month. I would have appreciated if the versioning scheme followed SemVer, so I would know that any v2 engine would work and v3 engine would not. I also would appreciate it if you could write detailed migration docs between versions and/or recommendations in error messages. The reason I think migrating my CV would take so long is that I have to go by trial and error, searching for similar-sounding parameter names and replacing them one-by-one. I gave up after an hour of this as I was nowhere near done. Third, is markdown render supposed to miss information or is it a bug? Some sections of the resume would not end up in the markdown version, only showing section title and nothing else. If this is not expected behaviour, please let me know. Again, thank you for making this. I look forward to using it again in the future. | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | Cloudly 9 hours ago | parent | prev | next [-] | ||||||||||||||||||||||
I have been through a huge over supply of AI generated CVs using similar tools this year. I am sure this will help people so not bashing the tool per se, but bare in mind that you will be joining the robots. I don't know what the solution really is, but as much as I hate it, a verified Linkedin Profile is a huge signal now. Otherwise a real personal site with care and history. I am guilty of being bad with the second so - no easy answers. Maybe even a wacky looking CV would make me notice a candidate more. Powerpoint 90s style. | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | mkozak 9 hours ago | parent | prev | next [-] | ||||||||||||||||||||||
Looks nice! I do, however, see an issue with such tools, as they require people to maintain their CV. I don't want to hijack the thread so I won't link here unless asked to do so, but I've build something to keep developers' profiles up to date | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | pietz 11 hours ago | parent | prev | next [-] | ||||||||||||||||||||||
A bit of a missed opportunity not to use the JSON Resume schema for this. | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | scythmic_waves 11 hours ago | parent | prev | next [-] | ||||||||||||||||||||||
I used this recently for my resume and I recommend it. I have the technical background to write Latex and Typst documents but I honestly didn't want the headache. Plus I'm the type to futz with styling all day long instead of putting down actual content. RenderCV was simple to use and did exactly what I wanted. | |||||||||||||||||||||||
| ▲ | subdavis 10 hours ago | parent | prev | next [-] | ||||||||||||||||||||||
I’d love to know if this performs better than your average resume in OCR or scanning tools. I think if you could advertise that you follow some kind of arcane best practices, that would be super attractive to a lot of people. I have a lot of anxiety about missing opportunities because of shitty OCR. | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | scelerat 3 hours ago | parent | prev | next [-] | ||||||||||||||||||||||
I just re-did my resume last week using Typst, and the experience had me contemplating building some kind of generator as well! Anyway, I really enjoy using Typst. | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | varun_ch 10 hours ago | parent | prev | next [-] | ||||||||||||||||||||||
This looks really interesting, but I’m wondering what this adds that someone can’t already do with Typst+a resume template. The basic-resume template already abstracts enough that you only need to care about content rather than formatting: https://typst.app/universe/package/basic-resume/ Does anyone have examples of how they’re using the YAML? | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | zpusmani 7 hours ago | parent | prev | next [-] | ||||||||||||||||||||||
I really love tools that treat documents as code. I have been trying to move my workflows away from binary formats (like PPT & Word) to text based ones I can more easily version control. Does this support custom CSS for the layout or is it bound to the YAML templates? | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | michidk 7 hours ago | parent | prev | next [-] | ||||||||||||||||||||||
Why invent a new file format when there is https://jsonresume.org/? Its also quite easy to customize and add more things as it does not prohibit extra values | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | joshdavham 9 hours ago | parent | prev | next [-] | ||||||||||||||||||||||
Favorited for next time I make a resume - thanks for making this! Hopefully I’ll never have to touch LaTeX ever again. | |||||||||||||||||||||||
| ▲ | NewsaHackO 10 hours ago | parent | prev | next [-] | ||||||||||||||||||||||
Wish I had seen this before making my resume in latex. One question, though to add publications, is it possible to use bibtex, or do you have to manually convert each publication to YAML? | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | brcmthrowaway 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||
How does this differ to TeX? | |||||||||||||||||||||||
| ▲ | dfajgljsldkjag 9 hours ago | parent | prev | next [-] | ||||||||||||||||||||||
This is clearly a real project that was built over several years with human effort (not vibe coded). Which makes it all the more depressing that the author decided to take a massive dump over the entire README.md with AI slop. Sadly, it appears the project was heavily sloppified a mere 2 weeks ago: https://github.com/rendercv/rendercv/commit/5cc5fbdf9ec1a742... | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | catapart 10 hours ago | parent | prev | next [-] | ||||||||||||||||||||||
Oh awesome! This is a great solution to resumes. The only thing I'd like more is a web app to run it in. | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | opengrass 9 hours ago | parent | prev | next [-] | ||||||||||||||||||||||
Yaml itself can be a resume. | |||||||||||||||||||||||
| ▲ | uniqueuid 9 hours ago | parent | prev | next [-] | ||||||||||||||||||||||
I get the motivation, but it honestly feels a bit weird to use tens of thousands of lines of python code to do something that you can just directly do in typst. I mean, a CV is not really rocket science and there are quite a few great typst templates out there. | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | thangalin 8 hours ago | parent | prev [-] | ||||||||||||||||||||||
In tough job markets, submitting 100 résumés before getting hired is not uncommon. Of possible interest is my Creating Catchy Cover Letters blog post, which uses my Markdown editor, KeenWrite (https://keenwrite.com), to create PDF files styled to match a company's branding: https://keenwrite.com/blog/2025/10/15/creating-catchy-cover-... A handful of prospective managers told me that my cover letter stood out among hundreds of applicants. Here's the full shell script I used to build cover letters (you'll need to point "theme dir" to the directory where the cover letter theme---aspiros---is found). With this script, creating a cover letter went from about 20 minutes down to 5. If you have any troubles getting it to work, contact me via https://whitemagicsoftware.com/.
This saved me about 19 hours of work; hopefully it will save you time, as well. See also: https://xkcd.com/1205/ | |||||||||||||||||||||||