Top
Best
New

Posted by sinaatalay 2 days ago

Show HN: RenderCV – Open-source CV/resume generator, YAML to PDF(github.com)
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/

94 points | 41 comments
smnrchrds 1 day ago|
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.

sinaatalay 1 day ago||
Thank you so much for the kind words, and I'm sorry for the trouble the changes caused you.

To give some context: I hadn't worked on RenderCV for about six months, and when I came back, I had grown technically and my design taste had changed. I decided to do a significant overhaul rather than preserve backwards compatibility. It felt necessary to maintain my enthusiasm for this project long-term.

You're right about semantic versioning. I used a two-number scheme (MAJOR.MINOR) back in 2023 when I didn't know much about releasing software. By the time I understood the benefits of MAJOR.MINOR.PATCH, I didn't want to change it mid-stream. I'm planning to switch after v3. It will give me more flexibility to tag updates appropriately.

I'm also adding migration documentation to my list. You're right that I should have done this. Going forward, there will be clear migration guides.

Regarding the Markdown issue where sections show only titles, that sounds like a bug. If you could open an issue with details, I'd appreciate it.

Thank you for using RenderCV!

dfajgljsldkjag 1 day ago||
The author discovered AI coding 2 weeks ago and completely went to town on the entire project. If you use any version before this (2.2) it will probably work fine.

https://github.com/rendercv/rendercv/commit/5cc5fbdf9ec1a742...

sinaatalay 1 day ago||
Just to clarify, that commit was the result of about a month of careful development, and involved significant manual effort beyond AI coding.

See the PR: https://github.com/rendercv/rendercv/pull/528

Cloudly 1 day ago||
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.

browningstreet 1 day ago||
Lots of people apply to places other than startups, and for positions other than developer.
mkozak 1 day ago||
AI generated (and quite often fake) CVs are a fucking joke. I've spent many hours over the last 2 years going through the pile of them
8n4vidtmkvmk 1 day ago||
I wonder what the benefit is.. there's only room on a CV for maybe 2 sentences per job. Surely we can type that out by hand and mind
fheysen 3 hours ago||
Used this for a recent resume update, super practical. Love the YAML + Typst combo and the version-controlled workflow. Thanks for building and sharing—this is genuinely useful!
pietz 2 days ago||
A bit of a missed opportunity not to use the JSON Resume schema for this.

https://jsonresume.org/schema

sinaatalay 1 day ago|
We deliberately chose not to use JSON Resume because we wanted greater flexibility. For example, in RenderCV, you can use any section title you want and place any of the 9 available entry types under any section. In contrast, JSON Resume has predefined section titles, and each section is restricted to a predefined entry type. For instance, you must use the experience entry schema under the experience section.
pietz 1 day ago||
I hear you. This boils town to personal opinion. I would have preferred to use an existing standard than introducing yet another one. The custom sections aren't something I've ever seen or needed anyway.
scythmic_waves 2 days ago||
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 2 days ago||
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.

sinaatalay 1 day ago|
Thank you. We will add an analysis of how RenderCV PDFs perform with applicant tracking systems in docs at some point, but users have been reporting positive results. We generate the PDFs using Typst, which adheres to modern PDF standards.
mkozak 1 day ago||
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
Dansvidania 1 day ago|
please share?
mkozak 1 day ago||
Sure thing! https://codeboards.io - any feedback is welcome
scelerat 1 day ago||
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.

netbioserror 1 day ago|
I was going to say. This is pretty easily achievable with a Typst template and script, which can even parse YAML.
varun_ch 2 days ago||
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?

sinaatalay 1 day ago|
RenderCV actually relies on its own Typst package: https://typst.app/universe/package/rendercv

Here are a couple of reasons, just a few that come to mind, why using YAML + RenderCV can be more appealing than working directly in Typst:

- Reusing the same content across multiple themes. YAML + RenderCV allows you to experiment with different themes and design options to the exact same content with no changes to the data itself. This is difficult to achieve in pure Typst, where switching templates typically means adapting your content to a different set of Typst commands.

- Centralized control over entry layouts. You can adjust how entire classes of entries are rendered from a single place—for example, changing the layout of all education entries at once, rather than editing each entry individually.

joshdavham 1 day ago|
Favorited for next time I make a resume - thanks for making this! Hopefully I’ll never have to touch LaTeX ever again.
More comments...