The necessity for a human-consumable-doc-like way to present yourself has been around for a while. I remember I was maintaining a doc version. I would edit it and export it as pdf every time I had to return to job hunting. Then I moved to odt, as a gesture towards open formats. I prettified it a bit, added some graphics for it to be more aligned with my web version. It was kind of OK, but it was an annoyance every time I had to edit something. I was worried about the formatting, I had to fiddle with the positioning of elements and I had to maintain the data in all the different places: this document, my website, LinkedIn, Angel List. And, most likely, some other websites, which absolutely needed me to fill in all the data from scratch.
At some point I stumbled upon JSON Resume. A structured way to store your career-related data. I liked the idea, as it finally offered a way to have the data with constraints. So I didn't have to think how to have my data, I just needed to follow the schema. I remember there was something I didn't like about it, some unnecessary limitation. But overall, the advantages of this approach were massive for me. So, relatively quickly, I jumped to it and made my web version to be based on this json.
It was the first step to the final implementation of the whole thing, but I didn't realise it that time. I was satisfied with the new approach. But I still had to maintain my file. It became a bit simpler, as I just had to follow the more structured way, but manual editing didn't go anywhere. Inevitably, I started to think how to remove this manual step and make my json the source of truth. I can't really remember the journey in details, but I ended up using pdfmake. It required a separate document definition file, which repeated everything the web version had. Looking at it now, I'm surprised I went this far. It's insane. Looks like a very hardcore manual way to do the markup. But, one step at a time, and I managed to mirror my web version almost perfectly.
I moved my resume to a separate repo and now when I change something there, I just need to redeploy my website. Yeah, I can call the script locally, but anyway, I need the changes to be available on the website as well. So this lazy automation is nice.
So, since then, I've just used this way to have my resume in the pdf format, and it mirrors my website, and it's easily available for anybody. So, I'm a bit surprised there's still no go-to service that would make use of the pdfmake and offer a collection of templates to choose from and provide you with a straightforward way to have your resume as a file while you just maintain your json. It also is a direct way to feed it to an LLM, skipping the parsing step.
