RoosterCV
resume.cv.open/0.1

Think of it as HTTP for hiring data

Traditional resumes are written for printers, then awkwardly parsed back into databases — and locked inside whichever platform you built them on. resume.cv.open flips that around: applicants provide clean, consent-aware data once, and any conforming system can render or import it. The data belongs to the applicant, and it gets more useful as more tools adopt the standard.

{
  "protocol": { "name": "resume.cv.open", "version": "0.1" },
  "profile": {
    "identity": { "displayName": "Maya Chen" },
    "work": [{ "employer": "Northstar Apps", "title": "Analyst" }]
  },
  "consent": { "purpose": "job_application" },
  "metadata": { "language": "en-US" }
}

Why a structured resume?

One schema, many tools

A single JSON Schema describes identity, experience, education, skills, preferences, and consent — so any conforming tool can read or render it.

Consent-aware by design

Every document carries purpose, scope, retention, and revocation, so employers and platforms know exactly how data may be used.

No vendor lock-in

Career data belongs to the applicant. The protocol is open and portable, not tied to any single ATS or resume builder.

ATS-friendly ingestion

Structured data removes brittle PDF parsing. Applicant tracking systems can import clean fields directly.

Validated end to end

AJV-based validation against resume.cv.open/0.1 guarantees documents are well-formed before they are submitted.

Extensible

An extensions mechanism lets domains (academic, government, healthcare) add fields without breaking the core.

For developers

Build importers, exporters, and integrations against a stable JSON Schema. Validate with any JSON Schema 2020-12 validator. Adopt the extensions mechanism for your domain-specific fields.

Integration guides →

For HR teams

Receive structured, consent-aware applications you can ingest directly into your systems — no scraping, no lost fields. Pair it with our matching tools to find candidates faster.

See the HR platform →