
JSON Resume – 5th Birthday and New Features - thomasfromcdnjs
https://jsonresume.org/blog/5th-birthday-new-features
======
goblin89
Instead of going with an ad-hoc schema, I wish JSON Resume built on top of
data structures standardized by Schema.org. They cover most of the concepts
required—[https://schema.org/Person](https://schema.org/Person),
[https://schema.org/skills](https://schema.org/skills),
[https://pending.schema.org/knowsAbout](https://pending.schema.org/knowsAbout),
the list goes on.

For concepts not covered by Schema.org (I spotted only one, “interests”) the
project could implement custom extensions until they are adopted by the shared
vocabulary.

~~~
thomasfromcdnjs
I personally don't disagree, we've always thought it best to leverage other
peoples work first.

Though one of the largest discussions we had on the specification was the
definition of what a name was -> [https://github.com/jsonresume/resume-
schema/issues/4](https://github.com/jsonresume/resume-schema/issues/4)

After everyone's input, we decided to just opt for one field `name` because
simply first/last/family name does not work across cultures.

When we looked at schema.orgs definition of Person, they went down the avenue
of trying to split the name up which still wouldn't fit all use cases.

[https://schema.org/Person](https://schema.org/Person)

~~~
Jean-Philipe
> After everyone's input, we decided to just opt for one field `name` because
> simply first/last/family name does not work across cultures.

Thank you so much for this! Me and family members struggle filling forms
because of this on a regular basis.

Another pet peeve of mine are address fields. Why not just one field? People
are smart enough to write down their address. Not everyone has a zip code or a
street number, or streets for that matter.

~~~
nulbyte
> People are smart enough to write down their address.

Not usually.

In this scenario, given its use for display on a user page, it may make sense.

For most other cases, this doesn't pan out. Here in the US, for example, the
general public has little sense of how to properly write addresses with floor,
apartment, unit, or suite numbers. Folks routinely put things in the wrong
order or use the wrong symbol or abbreviation. Others make up nonsense and
genuinely think what they have is correct. Developers and geeks aren't immune;
I've seen forms that reflect an inadequate understanding of addresses.

~~~
icxa
Yeah, if you work for a company that has to run any kind of validation on
addresses, you learn quickly most people cannot type their address in
correctly _at all_. My take: Make it as dumb and straightforwardly painfully
obvious as possible.

~~~
abraae
Coincidentally enough, we just got through writing a nest of regexps to
retrospectively validate about 2K user entered addresses, and they turned out
to be surprisingly well entered, probably about 98% parsable. In this case the
user was entering a field called "street" and we were validating down to a
number followed by a street type (e.g ST) and a few local wrinkles such as
additions like "RD1" for rural addresses. The most common error, which we
brute force corrected, were various misspellings of "crescent". We did not
however attempt to unpack the street number, which fortunately was not
required.

------
pknopf
Pro tip, just creating your own schema. Tailor it to your theme.

Here is my resume (as YAML):
[https://github.com/pauldotknopf/resume/blob/staging/resume.y...](https://github.com/pauldotknopf/resume/blob/staging/resume.yml)

This file is consumed and used in a very small ad-hoc project, specifically
for my format:
[https://github.com/pauldotknopf/resume/blob/staging/statik-r...](https://github.com/pauldotknopf/resume/blob/staging/statik-
resume-generator/src/Resume/Program.cs)

Here is the final result:
[https://resume.pknopf.com/](https://resume.pknopf.com/)

Easy maintenance. Maximum flexibility. Low tooling.

~~~
matthewbauer
LaTeX + ORG mode is an easy way to get some literate programming features
while also still using a real typesetting engine. You can reuse my setup here:

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

~~~
michael-ax
Thank you! and thanks for not forcing bibtex into it.

------
irrational
It took me way too long to realize resume meant résumé (written summary of my
experiences) instead of resume (to continue)! I was thinking JSON Resume was
the next version of JSON, maybe adding the ability to have comments in JSON.

~~~
agumonkey
Or lazy loaded json as stream of objects

~~~
hombre_fatal
Well, you can already parse JSON SAX-style. Or with newline delimiters.

------
toyg
Uh, there was already an XML format for this, I remember doing my CV with it.
Nobody ever asked to see it or use it, so I stopped updating it. I learnt a
few years later that some HR/recruiter systems _do_ use it, behind the scenes,
to talk to each other, they just never surface it.

Why would this surface more often...? The HR industry is not made by coders,
they live in MSWord and GDocs.

~~~
ben509
I'm thinking of using it (or a slightly hacked modification) because I keep a
"master" resume in a messy LaTeX doc with lots of crap I usually filter out,
and with variable accuracy in things like dates. But if I change careers, it
will be useful because I'll have all that material ready to put back in.

Even while you're searching, having your different versions based on a single
source of truth helps you keep everything consistent.

And you can then convert your source data to MSWord or other formats. It
outputs HTML, so it's already a click away.

(Careful sending any easily editable format to some recruiters, they're liable
to "enhance" it for you.)

~~~
toyg
_> (Careful sending any easily editable format_

Of course, I only send PDFs (closest you can get to non-editable without going
exotic).

Personally, these days I just export my LinkedIn bio and then tailor to the
particular application. Unless LI starts exposing this, I have no real use for
it.

------
crabasa
So, I am working on a "better resume" product for developers:
[https://fizbuz.com](https://fizbuz.com)

We plan on shipping API support so that developers can build better
experiences on top of the data (alternate rendering engines, import/export,
etc).

I'd love to see about supporting export to JSON Resume. Is there a list of
ecosystem tools that speak this format?

~~~
thomasfromcdnjs
We haven't done a good job of showing casing community tooling. It is on our
high priority list. That being said, you can scroll through
[https://github.com/search?o=desc&q=jsonresume&s=updated&type...](https://github.com/search?o=desc&q=jsonresume&s=updated&type=Repositories)
to get an idea of what is out there.

------
frenchman99
Gotta love the "undefined" next to "Egghead Instructor" on one of the example
resumes, given that Egghead's pitch is "Learn the best JavaScript tools and
frameworks from industry pros".

[https://imgur.com/a/4qVeeca](https://imgur.com/a/4qVeeca)

------
krossitalk
One of the examples has a number of missing values (,,) and the literal
'undefined', starting around the Education section
[https://registry.jsonresume.org/beeman](https://registry.jsonresume.org/beeman)

~~~
thomasfromcdnjs
Thanks! I will let the user know.

------
yingw787
Very cool to see this progressing! I remember reading about this site in
college. One tip, I think the HTTPS site is requesting HTTP resources for
CSS/Google Fonts, which Chrome blocks, so I can't see the themes in their full
glory :-)

------
sam_lowry_
By the 10th birthday, you should have implemented the LinkedIn export as well
;-)

~~~
thomasfromcdnjs
baha

I linked in another comment -> [https://joshuatz.com/projects/web-
stuff/linkedin-profile-to-...](https://joshuatz.com/projects/web-
stuff/linkedin-profile-to-json-resume-exporter-bookmarklet/)

Slowly getting there

------
heinrichhartman
Aside:

> resume export resume.pdf (Currently broken, help needed)

[https://jsonresume.org/getting-started/](https://jsonresume.org/getting-
started/)

Any news here?

Still puzzling to me, how hard it is to generate PDF documents. I assume this
is not using Latex, since that would be a gigantic dependency to pull in. What
is/was jsonresume using? Why did it break?

PS: Also pdf export on wikipedia has been broken for years now. Seems to be a
hard problem.

Any information about light-weight pdf generators that work and produce decent
pdfs documents would be appreciated.

~~~
ilaksh
[https://github.com/jsonresume/resume-
cli/pull/294](https://github.com/jsonresume/resume-cli/pull/294)

------
ddebernardy
How much traction is this getting in job-tech startups? For instance,
LinkedIn, Indeed, etc., as well as applicant tracking systems, and so forth.

~~~
hrktb
> LinkedIn, Indeed, etc.,

At this level, they won't care for an open format as they can just ask you to
reenter all the info in their own form.

They assume if you are effectively looking for a job a 10~30 min data entry
for each of these sites won't deter you. Or worse, you'll get tired of
entering your data again and again, and won't go to their smaller competitors
even if they make more efforts to accommodate you.

I did the whole dance a year ago, and a candidate's time seems to be the least
valuable resource in the system (or it's used as a currency to price how much
you are dedicated to getting that job)

~~~
thomasfromcdnjs
This is true in our experience. We had visions of exporting Linked in profiles
to the schema but about a year after launch LinkedIn completely disable API
access to user profiles making it virtually impossibly.

A developer built a bookmarklet that does it thought ->
[https://joshuatz.com/projects/web-stuff/linkedin-profile-
to-...](https://joshuatz.com/projects/web-stuff/linkedin-profile-to-json-
resume-exporter-bookmarklet/)

Works surprisingly well.

------
the_resistence
Really great to see some activity. I thought the project was dead, no offense.
Are the problems around an excellent MS Word and PDF versions intractable?
Just asking since I don't know node.js/json world well.

------
brianzelip
Congrats. I remember the HN discussion 5 years ago, and appreciated it then
too.

------
rdiddly
Tried it out, but got "Error: could not handle the request"

Wish I knew more. I don't think it's the HN Hug of Death™ because I was able
to get it to complain about my malformed JSON earlier (since fixed).

------
elcomet
I wish it was called yamlresume.org instead of jsonresume.org.

Json is not designed for humans.

~~~
ilaksh
yamlresume.org is available.

There are multiple projects on GitHub that generate resumes from yaml.

The new concept is a lambda function that pulls from a gist. It would not be
very hard to do something similar with yaml.

------
oweiler
The post is from 2018.

~~~
thomasfromcdnjs
That is my bad, static site generator where you input the date manually.
Fixing now.

