A Turnrow open-source project · MIT licence
Fix a fact once. Every résumé picks it up.
Turnrow Profile Schema keeps a person’s whole professional record in one JSON file. A résumé, a profile page, a LinkedIn paste sheet, a slide bio and a timeline are each a filtered view of that file, so they cannot drift apart.
Every fact records where it came from, how sure it is, where it stands in review and who may see it. The public outputs take only what is approved, confident and public, so an unconfirmed number or a private phone number never reaches the open web by accident.
What it adds to JSON Resume
| The need | How the schema handles it |
|---|---|
| Know where each fact came from | Every entry cites its sources, and every citation carries an evidence grade: primary, secondary, self-reported, published or hearsay. |
| Keep both sides when sources disagree | Each source’s value is kept as a claim. At most one is accepted, with the reason; conflicting values with none accepted mark the entry disputed. |
| Separate how sure from how far through review | Confidence (high, medium, low) is held apart from status (draft, pending, approved, disputed, retired). |
| Keep private facts private | Visibility on every entry, metric, name and link. Email, phone, credential numbers and tax ids default to private. |
| Dates only as precise as they are known | “About 1996”, “between 1990 and 1991”, “before 1998”. Formats that only take exact dates leave a qualified date out rather than overstate it. |
| Organizations that change | One id per organization while its names, domains, owners and identifiers change around it, with mergers, acquisitions, splits and rebrands recorded as events. |
| Statements that are not true | Forbidden phrases, forbidden patterns and negative assertions. A converter refuses to produce output that breaks one. |
| Approval that sticks | A lock records who approved an entry and when; a later change goes back for approval. |
One file, every output
Each output is a mapping written in JSON: what it accepts, and how each field is laid out. A new target is a new mapping, not new code.
-
JSON Resume
Validated against an unmodified copy of the JSON Resume schema.
-
schema.org JSON-LD
For a public profile page. It takes only approved, high-confidence, public facts.
-
LinkedIn sheet
Positions grouped under each company, with the name it had then and the name to search for today.
-
Brief and timeline
A short bio for a slide or a programme, and the story as dated events and places.
-
SCIM
For an employer’s directory, released to that employer alone with a consent receipt.
-
Verification
What a background check matches on: the employer’s legal name at the time, its registry ids, dates and official titles.
Why a consulting practice wrote a schema
Because the same problem turns up in every engagement: one fact, copied into five places, and four of them wrong. The answer is the one this practice gives clients — a single record, evidence kept with it, and every view generated from it rather than typed again. This is that answer applied to a career.
-
Built on two open standards
It starts from JSON Resume and borrows its evidence model from genealogy (GEDCOM 7 and GEDCOM X), where conflicting sources are the norm.
-
Audiences, not just public or private
A current employer, a recruiter or a past employer verifying dates each receives exactly what it is granted, and a current employer’s access ends with the job.
-
MIT licensed
Open source and free to use. The repository carries fictional sample people that exercise every feature, and every output generated from them.