
Show HN: Create pretty resumes in HTML, Latex, Markdown from a single JSON - prat0318
http://prat0318.github.io/json_resume
======
cantlin
I made a similar thing a while back. My resume in PDF:

[http://hackerb.io/cantlin.pdf](http://hackerb.io/cantlin.pdf)

In MD:

[http://hackerb.io/cantlin.md](http://hackerb.io/cantlin.md)

In JSON:

[http://hackerb.io/cantlin.json](http://hackerb.io/cantlin.json)

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

[http://hackerb.io/](http://hackerb.io/)

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

~~~
cantlin
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 :)

~~~
faizmokhtar
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.

------
krat0sprakhar
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...](https://www.sharelatex.com/templates/cv-or-
resume/moderncv-classic)

[1] - [https://www.writelatex.com/templates/modern-cv-and-cover-
let...](https://www.writelatex.com/templates/modern-cv-and-cover-
letter/vbrtdnffktzz#.U5OFJZSSxYU)

~~~
twistedpair
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.

~~~
prat0318
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](https://www.writelatex.com/read/tktqrbmhnyqp)

------
rglullis
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/](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/](http://xmlresume.sourceforge.net/) seems
to be abandoned, but it is still worth to take a look.

~~~
jradd
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/](http://xkcd.com/378/)

------
utdemir
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...](https://raw.githubusercontent.com/utdemir/resume/master/resume.md)

HTML Output:
[https://rawgit.com/utdemir/resume/master/build/resume.html](https://rawgit.com/utdemir/resume/master/build/resume.html)

PDF Output:
[https://github.com/utdemir/resume/blob/master/build/resume.p...](https://github.com/utdemir/resume/blob/master/build/resume.pdf)

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

------
jmgrosen
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.

~~~
hackmiester
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.

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

------
jjgreen
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!

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

------
cies
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.

[https://github.com/cies/resume](https://github.com/cies/resume)

------
carrigan
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.

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

------
yuvipanda
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 :)

------
antonapa
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.

------
krrishd
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](http://itskrish.co/krish.json) and
my resume, powered by the JSON is:
[http://itskrish.co/resume](http://itskrish.co/resume)

------
adamwong246
I would rather start with markdown than json.

~~~
yuvipanda
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.

~~~
adamwong246
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.

~~~
abdullahkhalids
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.

~~~
adamwong246
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](https://www.npmjs.org/package/markdown-pdf)

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

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

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

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

[https://github.com/mgraczyk/resume](https://github.com/mgraczyk/resume)

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

~~~
aroch
Its because of mixed-content

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

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

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

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

~~~
xerophtye
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

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

------
theyak
This resume makes me feel inferior.

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

