Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Create pretty resumes in HTML, Latex, Markdown from a single JSON (prat0318.github.io)
187 points by prat0318 on June 7, 2014 | hide | past | web | favorite | 49 comments

I made a similar thing a while back. My resume in PDF:


In MD:




You can generate a decent chunk of the content from LinkedIn/GitHub too :)


Very slick. The creation process is very nice, but editing an existing account is less straightforward.

Indeed, it's evolved over time as I've needed more from it but the UX has wound up pretty awful. Adding a personal statement for example involves finding and pressing the oh-so-very-intuitive "add block" button at the bottom of the edit page.

For reference you can drag and drop any of the sections to reorder them, and most of the fields will happily accept Markdown.

Any feedback appreciated for next time I have a weekend spare :)

Pretty cool. Just a suggestion, why not display a few more rows for the stack options instead of a single row. It would be pretty neat if I can just click through the stacks that I knew instead of figuring what I probably left out.

Doesn't work for me.. Can't retrieve data from Linkedin: Uncaught TypeError: Cannot read property 'values' of undefined at hackerb.io/users/new:194

Thanks for the heads up - I'll get that fixed.

Very cool project! The Latex version is based on the awesome modern cv template. If you prefer not to install the massive TeX package on your computer you can use the online apps like ShareLatex[0] and WriteLatex[1] both of which have templates that you can use to get a CV ready in no time.

[0] - https://www.sharelatex.com/templates/cv-or-resume/moderncv-c...

[1] - https://www.writelatex.com/templates/modern-cv-and-cover-let...

As someone who has read hundreds of resumes filling positions, I've got to admit this is not a great template, IMHO. I don't (and shouldn't) care about a candidate's picture/logo and the horizontal rules just burn more space. This strikes me as a template for someone that is trying to take up space.

Frankly, the hackerb.io template is something I'd prefer to read.

even something slick like this[0] can be generated using json_resume. Just a new template has to be given.

[0] https://www.writelatex.com/read/tktqrbmhnyqp

+1 i have given the user to opt for WriteLatex (which i found so awesome) if pdflatex or moderncv is not found on the machine.

While this seems like a nice exercise, I wonder how much things would break when the JSON is slightly "off" in terms of the schema, which seems to be very ad-hoc.

And with so many standards for resume schemas going around, I fear this will end up in a http://xkcd.com/927/ situation.

Perhaps this exercise could've been more interesting if it were some nifty XSLT that took HR-XML and made HTML (preferably with tags that followed the hResume format) and LaTeX? The "XML Résumé library" http://xmlresume.sourceforge.net/ seems to be abandoned, but it is still worth to take a look.

I really like OP's suggestion.

“Interesting” ≠ Better right?

I kind of thought JSON is [essentially] HR-XML. lol. But then again, I have not heard of Human Readable XML, and sort of chuckled at the thought of “HR” meaning human readable (until I googled it — __face–palm__).

Anyways, this is begging to feel a little like; http://xkcd.com/378/

I also made an attempt to unify my resume in different formats.

But I ended up in much simpler, but not so advanced solution. I'm just writing in Markdown and use a Makefile to generate other outputs using Pandoc.

Here is the input: https://raw.githubusercontent.com/utdemir/resume/master/resu...

HTML Output: https://rawgit.com/utdemir/resume/master/build/resume.html

PDF Output: https://github.com/utdemir/resume/blob/master/build/resume.p...

And here is the whole project(I mean, the Makefile, and my Markdown resume): https://github.com/utdemir/resume

This is particularly amusing because 6 or so months ago I had to write a résumé as part of a "career unit" in my Engish class. I was fed up with the whole thing -- what we had been taught seemed totally obvious to me and I was pretty much only doing busy work -- so I decided to write mine in JSON, and its schema happened to look pretty similar to this one's! The best part of the story, however, is that my awesome English teacher (only doing the unit because of the district), understanding of my interest in tech, loved it and thought it was clever and so gave me full points on it.

Was in a similar situation with a less happy ending. I had already generated a LaTeX résumé starting from around 2010. However, this year in an English course, I had to rewrite one in Microsoft Word, which was the only method accepted.

tex4ht cv.tex > html > copy-paste into/open in word > save as word?

Hmmm, should be using en-dashes (--) not hyphens (-) for date-ranges, uses mathematical superscripting $22^nd$ and so gets incorrect fonts and spacing of the superscript, .... It's a CV, write it (carefully) in LaTeX!

Great idea actually. Also, there is https://europass.cedefop.europa.eu/en/documents/curriculum-v... which can convert your XML to PDF or Word file. See also http://interop.europass.cedefop.europa.eu/data-model/xml-res...

Nice work...

Mine only does Latex, has a slightly similar layout... To be honest I don't think that a HTML version of a 2-page, non-interactive resume is needed. And since I know Latex I prefer to have the full toolset of Latex at my fingertips in order to make it stand out (babel+hyphen, vspacing, href links, content flow control).

Here the link, I hooks you up to a rendered version, and pointers for a zero-install-get-started-now-for-free route of getting your own print-perfect PDF using the awesome ShareLatex web app.


This is a great idea! I did something similar which stripped the text out of my tex resume, but I like the idea of writing it in the intermediate format and then converting to whatever you want.

While on my most recent job search, I found that a lot of places want a copy/pasted version of your resume in a plain text box. It would be nice if this printed out a pretty plaintext version of your resume too for boxes like this.

Agreed. I think even the raw markdown output version is really human readable and can be used for text boxes.

Pretty neat! Might be nice to add YAML as a format too, since it's easier to write by hand than JSON. Might submit a patch at some point soon :)

I find it interesting how techies rather make a complex generator than just open up an editor, write their resume and be done with the whole thing. Personally I find the JSON structure much harder to read than just use MD in Sublime or even something as trivial as using Word. By saying this, I don't try to bash on the creator, just acknowledge the phenomenon. Cool idea.

Nicely done, I'd been thinking of making something similar, because I've been using JSON to power my resume already.

My JSON is: http://itskrish.co/krish.json and my resume, powered by the JSON is: http://itskrish.co/resume

I would rather start with markdown than json.

Would be harder to parse than JSON, I'd think. Also much more unambiguous with JSON.

I do think writeability would be improved by using YAML, though.

I'm not sure why you'd want to start with json or yaml. Seems like you'd want to start with a document, not a datastore. A datastore would tend to being opinionated and inflexible. What happens when my resume doesn't match a prescribed format? Or what about other documents beyond resumes? And whats with the star bullets? Why mix style with data? What if I want hearts instead of stars?

I only mention this cause I'm working on something similar for my resume. I start with markdown and output pdf, html, etc.

In general, I would say you want to have schema. However, both yaml and json lack this. Still I find this a nice approach.

What happens when the code you wrote to parse markdown is unable to understand your new fangled resume material? Then markdown is just as much a datastore as json. The problem is not in json or markdown. It is in the code: your code must be able to understand all reasonable resume material.

I don't understand. Why would you write a markdown parser? Theres like a million implementations already. I use https://www.npmjs.org/package/markdown-pdf

Whenever need to write docs, such as resume, posts, wiki, and many others, I prefer markdown. I make a chrome extension to read and write markdown file inside browser, and it is easy to convert to pdf. It is available here: https://chrome.google.com/webstore/detail/markview/iaddkimmo...

Most jobs still request Microsoft Word resumes. How difficult would it be to support that format?

I've never heard of an employer requesting a Word document, but a plaintext version would be useful to paste into poorly-designed webforms.

That's all I ever hear from recruiters. Send a Word version.

I render my resume in a similar way using Knockout.js, but with fewer options. I might steal a few ideas from this one.


This is very subjective, but I think your resume would look better if you made the background white and set the line-height to about 1.5em on the whole body. You might even play with removing the list bullets and padding (list-style:none, padding-left:0px). If you try this, I would be interested to hear if you think it looks better or worse.

You resume is black when I browse to your website. annotator-notice is overlaying your resume.

Its because of mixed-content

That would be very surprising since the site is a static HTML file on Google drive and contains no https links.

The site's served over HTTPS and the assets over http. That's mixed-content

Thanks for the heads up. I presume you're on Firefox?

Chrome :)

nice credentials. font is a bit disturbing.. I think it's too thin and a bit monotonous.

Very cool, I have a similar project that reads yaml and produces LaTeX and markdown/HTML: https://github.com/bamos/cv

Better would be software that can read a job posting and adjust your resume to align with the posting.

That would be really cool. But that requires an understanding of what u have to offer and what they REALLY need.... I mean humans have issues with this problem, its gonna be tougher to write a program that does it

Nice. I like it. Looks clean and professional. It'd be neat if you could offer themes, too.

This resume makes me feel inferior.

It's far from “pretty”. To many fonts, too many symbols, hyphens instead of dashes, …

Registration is open for Startup School 2019. Classes start July 22nd.

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