Hacker News new | past | comments | ask | show | jobs | submit login
The Overengineered Resume with Zola, JSON Resume, Weasyprint, and Nix (2023) (ktema.org)
182 points by ahamez 3 months ago | hide | past | favorite | 115 comments



I don't know that this is the right way to solve the resume 'problem' - I think LaTeX is a far superior choice, yet the author pretty much dimissed it as a possibility.

For me personally, I found LaTeX to be the perfect solution. I have my resume tex setup so I can set toggles to define what gets output. E.g. applying for a manager position, I might keep it brief and more technical.

The resume is modular and can be updated by updating external txt files and not the LaTeX itself. It looks nice, is always consistent, has nice links, etc.

It's optimized for all the ATS nonsense it inevitably gets run through, it generates a PDF, and I've made it near impossible for recruiters to copy and paste and repurpose it without retyping much of it, and I have a tone of tech tricks in their like invisible text that automated systems might see.

If LaTeX itself is sufficient, I can't imagine needing to add in something like Nix and a webserver or how that would be better in any way.


LaTeX is fine to me, as well. Heck, now that I'm older, I think bare TeX is probably fine. In line with what you are saying, I can offload the semantic nature of my resume to text files and just use the markup of TeX to layout how I want the page to look. Much easier if I don't try and have a single source that is both all of my semantic data with the layout at the same time.


I store the customizable data in YAML format and then use mako templates + a python script to transform my custom resume- and cover letter data into Latex | HTML | Plain text


Adding in python seems like it's a needlessly more complicated setup.


> I think LaTeX is a far superior choice, yet the author pretty much dimissed it as a possibility.

Learning curve is a thing: I've never touched LaTeX, and I don't anticipate using it in the future. If I wanted to automate a thing as a learning project, I probably would rule out LaTeX unless I had a reason to want to learn it.


You don't really need to know LaTeX to do a resume in LaTeX, you just need to get a template and add your data to it

source: my resume is the only thing in LaTeX I've touched in over a decade


> I probably would rule out LaTeX unless I had a reason to want to learn it.

The reason is that it's one of the best tools suited to this kind of work.


You can also use HTML+CSS and print to PDF.


I’ve actually made the switch over to Typst[0] for my app [1]. I’ve previously used a quick jinja .tex template that then just pasted things in, but LaTeX can really throw some strange errors and overall handling the files was a hassle.

Typst was much easier to setup and the function-based operation meant that sending variables in was a breeze with better error handling there too. Also, I just grok the syntax a lot better.

Just another option for folks looking to redo their resumes/not use Latex.

[0] https://typst.app

[1] https://resgen.app


It took me something like 20min to learn the very basics of Typst and generate a PDF of my resume from my machine (Typst is distributed as a single binary). Definitely a lot easier to work with than LaTeX.

I used this package [1] (see also the index [2] for more packages / templates).

--

1: https://github.com/talal/pesha

2: https://typst.app/universe/


Typist looks interesting, although I've had no issues with LaTeX so no reason to change to something more niche.


You've never had an underfull hbox?


Either your are a pro LaTeX user or you did not use the more advanced features.


Or I just didn't have the issues you or others did. Tex distribution can make a point, also editor most likely.


Nix is completely orthogonal to whatever tech you use to build the resume - it's nice as a build tool + to provide dev environments for however you're going to realize your resume.


There is no reason to mention it, though. It's like mentioned Ubuntu as being necessary for having made a resume.


Nix ≠ NixOS. Nix is a build tool (like make or Ninja or Bazel) with strict isolation of builds and caching of artifacts. NixOS is a distro built on top of that tool, like the BSDs are built on top of make, Gentoo on top of Portage, or gittup[1] on top of tup. Running NixOS while you’re building your resume is irrelevant; using Nix to create the final artifacts is a material statement about the chosen toolset.

[1] https://gittup.org/gittup/


BSDs use ports or pkgrsrc which are "built on top of" make

Gentoo uses portage which is "built on top of" python


I have used LaTeX extensively over the years until Typst came along. Typst is exactly what I need. A lightweight syntax alternative of LaTeX without the issues. It supports SVGs and many more things that are very useful.


Look at that subtle off white coloring. The tasteful thickness of it. Oh, my God. It even has a watermark.


Hi, do you have an example of your latex source or template?

Here’s a sparse copy of mine.

https://michaelwilly.com/cv/latex

I don’t want to share the git because my real resume has more details.

I learned tex during a degree, I can use it mainly for math notation but I’m not sure that I know it in and out for typesetting.

My resume now uses a template.tex and a main.tex file and I \\input sub section tex files so I can iterate using git.


I would be careful with LaTeX. I use to have a LaTeX resume generated with LuaTeX. At an old company, I saw my LaTeX resume in the ATS long after I was hired. Apparently, something happened and the PDF displayed as blurred-but-not-unreadable in the ATS. Maybe the ATS did some post-processing or used a limited PDF display engine? Lucky for me, the resume for that job was just a formality. These days, I just use Google Docs and export to PDF.


I've made sure all the most commonly used ATS systems can read the produced PDF without issue.


I wouldn't worry about automated ATS. Their use is way overstated on LinkedIn, by "resume experts," etc.

I'm talking about whether a human can read the document comfortably.


Do you have any tips, code, or even just a list of the common ATS systems? I need to do this with my latex cv but I'm not even sure where to start.


I think this open-source parser details a typical ATS algorithm: https://www.open-resume.com/resume-parser


I don’t know of the example systems but I’ve applied to a handful of companies recently, all running the same-ish workday resume ingestion. You can actually tell which are running a more recent version because the parsing is more accurate.

There is also a common no-account single page application software, I checked at a company I’d applied to and it was called Lever(?)

Normally, I thought for ATS parsing if you upload in an application and a few of the prior experience text boxes are accurate, then you’re good. I’ve always had to fix my experiences though, even with using a word doc.


I have yet to see a really good LaTeX CV. I guess it is possible but in my experience LaTeX just isn't designed for that and gives boring-looking results.


A CV created with plain boring LaTeX is perfect for the right audience: people who can identify a LaTeX document at first sight.


I have yet to see an impressive resume from someone that wasn't boring in layout. Worse, I have seen very few resumes that were not boring in looks that were attached to a good candidate. :(


> I have seen very few resumes that were not boring in looks that were attached to a good candidate

I have seen many. You might be misinterpreting "boring". I don't mean that CVs should be like a Flash website. I mean they should look good typographically and not just like an instruction manual for a washing machine.

I wish I'd saved some of the best ones, but take a look at some of these: https://www.beamjobs.com/resumes/programmer-resume-examples

Ignoring the content, they are almost all far superior typographically to the example in this article.


I'm somewhat cheating in what I mean here, though. I was thinking of stuff like https://www-cs-faculty.stanford.edu/~knuth/vita.html, where his CV is so basic in layout that it is kind of shocking. If I remember the CV of most high level faculty I got the chance to look at, none of them were that concerned with columns or typeface. They were, simply, lists of data.


It's a bit different in academia, especially if you are Donald Knuth! When do you think was the last time he sent a CV to a company looking for a job? The 60s?


Again, I know I'm cheating to pull his out. I don't have any links to any of the profs I worked near in the past.

I have grown rather convinced more people just go by whatever is in LinkedIn than I'm comfortable with.


I agree that most LaTeX CVs are kind of boring. But I think they are more interesting than the end product in TFA, which I found completely underwhelming.

Now I have spent quite a lot of time customizing LaTeX, to the point where people have come to ask how I produced certain documents, because it surely could not be LaTeX. If you have a specific design idea in your head, LaTeX is able to achieve it if you just spend enough time RTFMing.


> But I think they are more interesting than the end product in TFA, which I found completely underwhelming.

I agree, that's a quite bad CV layout wise. Like someone has said "must be no more than 2 pages!" and his solution is just to eliminate all spacing.


It's nothing to do with LaTeX. Anything you can make in Word you could make in LaTeX.


Anything you can make in Word you can theoretically make in LaTeX with a ton of work that people who make LaTeX CVs don't both to do.

This is like saying "anything you can make in Photoshop you can make in Paint".


I don't think the difference is that great. More like Paint.net.


LaTeX is a nightmare to use, so you shouldn't inflict it on people. While I've used it and there's a lot to like, there's very little there that you'd want or need to make a resume. And without those things (most notably good formula support), it just doesn't add enough to justify the pain of having it in your life.


My resume is in LaTeX, but I like using a nix Flake so I can easily run `nix build` to build the resume, and I've guaranteeably installed the correct version of texlive that I need cuz it's reproducible.

Nix obviously isn't strictly necessary, but making a flake wasn't terribly hard and it's nice to keep stuff standardized between distros and macos.


I took a similar approach with LaTeX, where I have a GitHub workflow [0] that regenerates my resume on commit.

[0] https://github.com/tneely/resume/blob/main/.github/workflows...


> It's optimized for all the ATS nonsense it inevitably gets run through

How did you do/test that? I help maintain (didn't author it originally) the AwesomeCV template; we have an open issue about this, inconsistent results and not really having a good way to test it.


I've never tried LaTeX, but I've built my last few resumes with plain old HTML+CSS then saving as PDF. Works pretty great and is insanely simple to upkeep/modify


Automating your resume is a bit of a rite of passage for new software engineers. It just feels like a stupid repetitive task.

I've found that I change job summaries so often, that automating it was a net negative in time spent on the thing. So now I just do the same as the digitally challenged: copy a Word file to "resume (DATE).docx" and change the contents as needed.

My younger self would be surprised, and slightly annoyed, at how often I use the "dumb" solutions for problems.


Except that it is a great learning experience.

Data driven resume was my introduction to LaTeX and I had a great time building it.


LaTeX itself is sort of a rite of passage. It's slightly more useful, because the mathematical side of academia runs on it.

There's a bunch of template you get for free by doing what everybody else is doing. The corporate world has those too, but for Word, because that's what they use.

There's this subconscious believe that something that has a steep learning curve will make things easier later on. That is not always true. If you want stuff that is more complex than normal, Word and LaTeX are about equally as annoying, if nobody solved it for you (templates, Google). LaTeX is just harder for the easy stuff too.

Doing my resume was the last thing I did in LaTeX, not the first. Doing anything in LaTeX just stopped being useful when the recipients didn't recognize Computer Modern anymore.


Yea, no need of over-engineering.


Mine is also automated, but a lot more lightweight.

I - like OP - use JSON Resume [1]. Besides that I just have a Github Action which creates a PDF and also updates a web-based version [2] hosted in AWS S3. My favourite thing about this setup is that if I want to make a small change I can just log in to Github and commit a quick edit in the repo [3] through Github's web-based UI A new PDF is generated and the web-based version being updates automatically.

[1] https://jsonresume.org/

[2] http://geoff-clayton-cv.s3-website-eu-west-1.amazonaws.com/

[3] https://github.com/jefc1111/cv/tree/master


I've made some improvements to the JR registry recently (still looks horrible)

But you can just go to https://registry.jsonresume.org, login with github, create the gist, and then your resume is automatically "deployed". And it is stored on github gist, so data is yours, and has revisions as a nice added benefit.


That format is really nice!

I regret to say it but I found what looks like a typo - you've got "automcomplete" where I think you mean "autocomplete". I hope this helps improve your resume.


That's fixed. Many thanks for taking the time to report it :)


Did you mean to spell "Product-focussed" with 2 s's?


I did. I accept that a single "s" is more common, but I like the double "s" and I don't believe it is considered wrong (yet).


British English my dear fellow


Your CV is a lot closer visually to what I was expecting from the original post. Varied font sizes and use of different regions on the page. Easy to take in at a glance.


Thanks! I am a fan of seeing one page CVs.


Yeah, it looks quite nice.


The linked resume is a poor example of the process.

It's neither visually pleasing nor is it more easily readable than other CVs that I have seen.

It's fine for a CV to be visually ugly as long as its readable, or visually attractive in spite of being less readable. You can't fail at both dimensions.

If you're really happy with a CV that looks and reads like this, save yourself all the effort and make a RTF document instead.


Agreed. It also has irrelevant fluff within the very first section, "I'm passionate about delivering products....I strive to center compassion..." etc.


The bullets to the left of the titles make my eyes bleed.


Cool project.

That said, I never send the same resume to everyone. I tailor a resume for each job I apply to. This doesn't mean leaving off positions or lying. It does mean taking the work done in a position and giving it a slant toward the target job.

For example, let's say I created a web app that shows a sales dashboard, with stats visualization, from raw daily sales data.

Job 1 (applying for Front-End) - Created monthly sales dashboard web site using React, MaterialUI, SASS, Node, Riak, and D3. Dashboard provided grid-based summary over individual weeks, months, and years. It also provided configurable line graphs and pie charts for various sales metrics. Data pre-processing done with Sci-Kit. Later added sales prediction using Machine Learning.

Job 2 (applying for Data Analysis) - Analyzed raw daily sales data to determine data cleansing needed, and created tool pipeline using Python NumPy, SciKit, and scikit-learn. Integrated pipeline into Riak data source ingest, and then built sales dashboard web site to visualize the data. Provided ML model for sales prediction built with scikit-learn, with XX parameters. Model achieved YY accuracy with only a ZZ mean error.

Same work in both, but I highlight the tasks most relevant to the target job.

Other thoughts are that Latex is a good way to get a well laid out PDF resume (PDF is not the web, you should have two versions of your resume), and I agree with other commenters - the final product needs more polish if it was actually going to be used to produce a resume to send in (I think it's fine as a proof of concept though).


I wish there was a standard format for resume that was universally used. Every HR website requires you to upload a resume to apply, then tries to extract the various experiences and details automatically, invariably fucks it up completely, and you end up having to spend 20 minutes to correct it manually. Unless they treat this exercise as a form of captcha…


In Brazil we have Lattes (https://pt.wikipedia.org/wiki/Plataforma_Lattes). The English translation does not mention it, but one of it's most useful features is a centralized resume platform. It's quite nice, but mostly used by people in academia and government-adjacent areas.


EU has the Europass, I just use that.


Interesting approach. I am currently looking for jobs and went the 'career coaching' route for my CV. I did a few iterations with my coach until I got my current result (ideally I had a link):

I first looked at Canva templates, but apparently nowadays you are supposed to do black/white and no fancy designs for ATS readability. Then I tried it with Google Docs b/w resumee template, which kinda got me to write actual skills. Then I approached the coach, got her template and iterated, and then I also added some rules from here (https://principiae.be/pdfs/ECV-1.01.pdf).

I also involved ChatGPT to analyze job postings and to get the mix of keywords in my resumme right. Tools like https://tagcrowd.com/ also help with that. For example, I am targeting 'IT analyst' roles, and it does make sense that I have the word 'analysis' a few times in my CV.

E: mine is basically structured the following way

Name

Title

Summary

3x5 ATS keywords/skills specific to my profile and role

last ten years, also written in a way that 'gamifies' ATS: 'Year, worked as ROLE at Company, did XYZ'

--page 2--

Education (degree + grades)

Skills Training

Languages

Some more IT skills (programming languages, project management, ...)

E2: I obviously have no idea what I am doing, but I got three interview proposals for 10 applications, so I guess 30%.


As web dev, I migrated from TeX to svelte + Chrome's Print-to-PDF.

I've found that splitting data and representation is not as feasible as it sounds. You add a job and suddenly your CV doesn't fit on a page anymore, and cutting details from previous jobs isn't enough. So you change the layout, ever so slightly, because the data changed. And version control? Nice for building, but it's not like you'll ever go back in time anyway.

What's nice though is defining the data and then trying different layouts to see what works.


I have a resume in latex, all I have to do is change a couple lines every now and then and run the default latex pipeline, all of it directly from gitlab. It worked on the first time I tried and every time since then, it produces a pdf which I can then download and send.

I noticed the container they run uses nix too, which is nice although I don't care about it as long as it works. I could add signing of the pdf maybe some day for fun. What's great with this approach is how little hassle there is and nothing to install, nowhere, and produces the same clean resume I've used for over a decade (but needed to install a thousand things I could never remember from one computer to another).


The only thing you should spend time on with your CV is the content. The ROI on tweaking the look and feel is very low. Aesthetics are not what people care about, unless your resume is so hideous that it gets thrown out.


My CV is a LibreOffice Writer document with no styling added.

A “boring” short black and white non-interactive document that I export to PDF.

It has my name, contact info, a list of recent work history, and mention of some of the technologies that I work with.

Last time I was applying for jobs, two years ago, I got an interview and eventually a job offer from the company I most wanted to work for among the ones I’d been submitting applications to. I’ve been there since.

I agree with you. And I think that any attempt to make the document look flashy would only have worked against me. At least when applying to the kind of jobs that I prefer – backend software engineering work.


Same. LibreOffice exported to PDF.

Also I cram everything into one page while keeping things readable. Being concise is an important skill. Personally I find it ridiculous people with a few years of experience and 3+ pages. I have 12 years of industry experience and don't feel the need for that second page yet.


I had the same idea sometime ago.

Not sure if you can say that it was over engineered or not but I used the following:

* Frontend framework : Next.js / React (Functional components with React Hooks)

* Rendering : Static Site Generation

* Programming language : Typescript

* CI/CD : Github actions

* Unit test : jest

* Design : SASS / Responsive design

* Data validation : AJV / JSON Schema / Joi

* Infrastructure : Cloudflare pages / Terraform

* Package management: Yarn

* Linting & Formatting : ESLint / StyleLint / Prettier

* Pattern matching : ts-pattern

* CSS framework : react-bootstrap

* Monorepo : nx

* PDF generation : jspdf

* Contact form : web3forms

* Captcha : hCaptcha

I am quite happy with the final output : https://www.remikeat.com

It would pull the data from

https://data.remikeat.com/resume.en.json

https://data.remikeat.com/resume.jp.json

https://data.remikeat.com/resume.fr.json

So I can just update the JSON and the webpage will update itself.

Also as the PDF is generated locally, the PDF also get updated automatically.

And I didn't know there was a JSON standard for resume. Maybe, I should migrate the format I designed to this open standard.

Ultimately, I wanted to add a portfolio section, where I would show some of my projects like

https://stackl.remikeat.com which is a stack language interpreter written in Ocaml and compiled to js with js_of_ocaml.


I also over-engineered how I generate my CV[1], but went the opposite direction by using Dhall to create JSON and LaTeX files that I use to create a PDF and GraphQL API in Rust for it, automatically deployed via CI/CD to a VPS and a tagged GitHub release. It was a lot of fun to make, but is so over-engineered I hardly want to touch it anymore :)

[1]: https://github.com/sondr3/cv-aas


I did something similar but with my phone, the android orgzly app, termux, jinja2 and latex.

I cribbed a CV template from overleaf and put some jinja2 in it to take the content from CV note in my note taking app: https://hitchdev.com/orji/using/latex-cv/

With termux I can then hit a button to run a script and it will instantly generate a pretty PDF using latex from an orgzly note and fire off an android share intent.

The nice thing about this set up was that if a recruiter called me while I was out and wanted a CV quickly with a couple of tweaks made I could just do it on my note taking app and email an updated PDF in a few seconds.

In theory I could easily change the style of the CV but in practice I haven't felt the need to touch it in years.


It is definitely overengineered and, unfortunately, outdated, as the most recent position in the resume and about page do not match. A lot of effort for something that is not accurate and obviously not used to apply for jobs, which is the purpose of a resume in most cases.

A simple file (Word doc, Numbers, Google Doc) that receives a change every few years and is exported as a PDF seems to do the task better.


The blog set me up for a really gorgeous typeset resume with lines in the intro like “More visual flair and typesetting control”.

With that expectation set, the end product was severely underwhelming. The visual flare is non-existent.


There's also Manfred's MAC schema for describing resumes https://github.com/getmanfred/mac


The overengineering here produced a poor result. I have found a lot of success using the pandoc_resume project, which is literally just a content item written in Markdown, formatted into different outputs using a LaTeX template via `pandoc`. With this, I output a PDF that looks great, and output HTML which I put in as a non-touched file in my static site generator, and it works very well.


Typst a way simpler approach to this:

https://typst.app/


This reminds me a bit of that animated Flash résumé that some young animator did, back in the day. It received quite a bit of attention (both good and bad).

It was basically a cartoon version of him, walking through his various life accomplishments.

It was well-done, and all, but I found it a bit annoying. Also, it was Flash.


I think the presentation of a resume is much less important than the content. It’s interesting that sourcers and recruiters make most of the decisions about who gets to the interview stage (particularly in a down market), yet they are the least qualified to assess the capabilities of the candidate of everyone in the whole process. Despite that, their assessment of a candidate’s resume has an outsized influence on the candidate’s outcome.

When you have 1,000 resumes from laid off software engineers from FANG companies that all look mostly the same, how do you decide who to call?

I’ve been thinking lately that an interesting project might be to look for publicly available resumes of people who have recently accepted new jobs within the tech industry and compare their resumes against those of people who have been looking for a new job for a while. The comparison would be qualitative if only a few resumes are available or perhaps quantitative (i.e., a classification model) if many are available.

Recruiters are not looking for the same signals as hiring managers, and since I’m not a recruiter, I would really like to know exactly what it is that they are looking for.

As an example of this kind of discrepancy that caught me totally off-guard, I was slightly below the “years of experience” requirement on a particular job posting that seemed to match my background perfectly. The recruiter I was talking to had reached out about another job posting where I did meet the YoE requirement, but I said the other posting was a significantly better fit for my skills and experience. The recruiter replied that the YoE requirement was not negotiable, so I was put onto the interview loop for the much less applicable role because of this arbitrary and narrowly missed line in the sand (and of course I failed that interview, wasting both my time and theirs).

A hiring manager would care less about years in seat and more about capability. That such a YoE requirement might be used as a hard filter when scanning resumes caught me by surprise—I had previously sent out plenty of resumes where I narrowly missed the YoE requirement, and in retrospect, my application was probably discarded immediately while using up the “quota” of how many times I could apply to that company. These sorts of insights from the recruiting world would be great to know in advance from the candidate’s perspective.


Unfortunately you either (a) need to craft your resume to work for all types of recruiters and all types of hiring managers*, or (b) carefully pick the type of firm and hiring managers and recruiting team you want to work with, then tailor the CV to appeal to them and get rejected by organizations that would annoy you.

The choice depends on your “need” for the next job.

* Examples of opposites in resume-reading personas: Many roles open vs. single role open. In-house versus outsourced recruiting. Contentful versus process recruiting. Technical versus MBA managers. Surface impression forming versus depth reading. Credential seeking versus competence recognizing.


I started doing something less over-engineered last year. It uses LaTeX with a CD pipeline and I think it's is a good way to do resumes. Every time I push mine, the one linked on my personal website is updated to the new version.

The diffing and version pinning is nice. Throughout intern application season I usually make updates to my resume and it's nice to be able to easily go back to the version of the resume that I applied with whenever I get a callback from a company.

Mine: https://github.com/nickorlow/resume

Website with link pointing to latest pdf: https://nickorlow.com

I also do something similar with cheat-sheets for classes. Using git for collaboration it is really nice: https://github.com/nickorlow/cs-331-cheatsheet

I do like the concept in the article of separating the data from the presentation.


Scrolled to "The Result" section only to see... nothing? Would've been nice to see the resulting resume


It is linked in the introduction: https://ktema.org/Resume-David-Reed.pdf


Thanks. Maybe I'm nitpicking but a link in the middle of a sentence isn't the best UX considering it's the main subject matter of the article. Easy to miss


I missed it also


I created my CV with React and Semantic UI since I was not satisfied with the amount of visual precision Word provides. The stack choice was due to personal ease of use, Semantic is probably an overkill.

Recently, I started turning it into a template and added some documentation. The next step is to feed the data (experience, education) through JSON so it's easier for others. It is automated to the point of generating a new preview GIF every time I push to master. I still manually hit CTRL+P to get the PDF though, it feels faster than implementing automation.

I'll hopefully do a Show HN in the future but until then, here is a demo on GitHub Pages: https://mrtysn.github.io/cv/


I put together an HTML+CSS template for authoring one-page documents that will be printed out (or saved as PDF):

https://github.com/jkitching/1pager-printable-html

It can be used for creating a PDF locally, or the HTML file can also be viewed directly in the browser - both should look identical.

When I was looking into different ways of converting HTML into PDF, everything I came across did a pretty bad job at correctly supporting CSS layouts and positioning. So I ended up just using headless Chrome for printing. Perhaps WeasyPrint does a better job with CSS support?


Now that's "resume-driven development".

And hey, overdesigned or not, it's a resume that ended up on the front page of Hacker News, making it all worth it given what a resume is supposed to do.


Absolutely, great advertising.

If only I knew what an internal enablement initiative or customer acceleration solution was.


I love me an overengineered resume. I've been hacking on my academic cv as part of my personal website for years and years, with unholy stuff like live TeX libraries downloaded in the midst of a netlify CI process. Still needs some work on various formatting edge cases, but in case you're curious: https://github.com/paultopia/websiterevision2017


I'm working on hacking the job application process by having LLMs take your base resume and tailor it for each job application. I'd love your feedback https://customizedresumes.com . I've been A/B testing by applying for jobs with only my base resume compared to an AI-customized resume. It's roughly a 2x higher response rate with the customized resume.


I love the idea, but the thing that keeps me from over-engineering my own resume is the number of times recruiters have asked for a copy in Word format, so they can strip out all the identifying features. Lots of large companies mandated this practice to combat bias when screening resumes. This irks me because I'm really just trying to get the Github profile and personal site URLs in my resume in front of technical people.


There is a much simpler approach to making a nice looking resume.

Just use markdown > html > pdf using a custom css style sheet

This is what I use for my resume:

https://github.com/LarsDu/LarryDuMarkdownResume


You don't see many people who went to St. John's college. If the author or any St. John alumni are reading this, I'd love to hear what you thought about the experience.


It would be bring less complexity using https://devenv.sh/ to provide the tooling :-)


Can't we all just agree as an industry to use LinkedIn profiles and move on to more productive things? I know they're horrible but come on already.


That is too pragmatic for an industry the pretends it values efficiency.


Am I missing something? Where it says "The Result", I don't see the result. Am I looking in the wrong place?


Afaik modern resume parsers prefer .docx to .pdf. Some won't even accept a PDF.


Yea, looks like a big miss that he is not producing a docx file

but then, maybe he dont want employers who only accept docx resume files


The only way to win is not to play.


OMg really hope you got 10x jobs that workflow.


But the results looks... very bad?


"over engineered resume"

oh boy. wait until you see europass standard.

appetizer: it's a pdf, with embedded xml, with html snipet field values.



Unsolicited advice:

If you're going to that trouble, finish the swing. The final product here is BAD.

The person reading the resume doesn't know it's automated so no credit points for that, and it looks like a person didn't pay attention to basic detail. This does you no good, it hurts you.

Example glitches:

The contact row dropping LinkedIn to next line. The ragged bullets hanging to the left of the left margin relative to headlines. The dates not right aligned. The too-large font making it take ALL of two pages for just a decade.

These things do get judged at a glance when someone's looking at lots of PDFs.

Also, just because a resume goes into an ATS doesn't mean the hiring manager isn't looking at the original PDF. Usually the ATS surfaces/sorts applicants but one reads the original PDF or Word doc anyway, because the ATS interpretation is often unreliable on its own.

All that said...

One idea to counter the above advice is either in italics under the contact line or in a clear footer, put a colophon or imprint saying: This PDF was auto-generated from my job history data, blogged about the automation here: https://full.web.link/resume-blog-post

But still, exhibit a higher bar for the end product. Engineers that fall in love with over-engineering without regard for the output and "end user experience" are everywhere, and a problem. Engineers that produce above-the-bar output end users appreciate, while ironically over-engineering, with full tongue in cheek recognition of the over-engineering, are rare.


On the other hand, they just managed to get their resume in front of thousands of people.



I feel personally attacked


Dropping a link/endorsement for quarto : https://quarto.org/

It's a static site/document generator that supports bibliographies, jupyter notebooks, and good old fashioned markdown. It works well for complex academic resumes and CV's, as well as blogs and library documentation.

I use a template for my website : https://jjd.io/

github repo : https://github.com/jdonaldson/jjd.io

Also, if anyone has any positive/negative comments on my site, let er rip! I'm still working on it.


Shameless plug: once you are done building your resume, copy and paste the text into CommandJobs[1] to automatically match your experience with job listings and get a filtered list of the best ones for you

[1]: https://github.com/nicobrenner/commandjobs


And here I'm, writing the resume in markdown using Obsidian, slapping some custom CSS until it looks good and hitting Export to PDF.


This page is utterly confusing. Is it about a CV? I don't see what is being resumed.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: