Docs

Build resumes from a long memory.

Verbose Resume is for people who want one truthful, detailed source resume and many focused, polished final resumes. Keep the raw material in Markdown (verboseResume.md), ask an LLM to tailor it for a specific job, then upload the final JSON here and print.

Start here

If you landed on the generator without a .json file, that is normal. This page is the map—read it once before you upload anything.

  • Long memory — keep a detailed verbose resume (Markdown) with more than any one-page PDF should show. Store it here when signed in, or keep a local verboseResume.md.
  • Short output — for each job, your LLM compresses that source into upload JSON matched to the role. You iterate on JSON in chat, not in Word.
  • Print here — upload tailored JSON on the generator, pick a template, preview, and save PDF. The Markdown source is not the print file.

Jump to the section you need:

The generator works without sign-in. Sign in with GitHub to store your verbose resume, track applications (import from LinkedIn, Ashby, Greenhouse, Lever, and similar postings), save tailored JSON, and log interviews.

Purpose

This site turns structured resume JSON into HTML resumes that can be reviewed, lightly edited in the browser, recolored with subtle paper tones, switched between templates, and saved as PDFs.

Sign in to keep a long-form verbose resume, track job applications (paste a LinkedIn, Ashby, Greenhouse, or Lever URL to import company, role, salary, and description), and store interview notes.

The verbose resume idea

  1. Maintain a detailed verbose resume (store it on this site when signed in, or keep a local verboseResume.md) with more detail than any final resume should include.
  2. Use stable headings: ## Experience, ### Company — Title, #### Notable work, ##### Project.
  3. Capture projects, tools, incidents, team leadership, metrics, context, and accomplishments while they are fresh.
  4. Update it continually, about once a month, because you will forget important details faster than you expect.
  5. Ask your agent to review recent prompts, git history, Jira tickets, pull requests, docs, and chat threads, then add evidence-backed notes under the right role.
  6. For each job, give verboseResume.md and the job description to your LLM.
  7. Ask for upload JSON, preview on this site, then keep revising the JSON with the same bot until it reads right.
  8. Print or save PDF when the preview looks good. Use browser edit mode only for tiny layout fixes.

Verbose resume Markdown format

Your verbose resume is the long source of truth — you can edit and host it on this site when signed in. For PDFs, upload concise tailored JSON only (not the Markdown file).

Agents can fetch the full spec via MCP get_verbose_resume_format. You do not need to clone anything — the format, questions, and example are on this docs page and via MCP.

See also sample questions and the fictional example verbose resume below.

# Your Name — Verbose Resume

## Contact
- **Email:** you@example.com

## Summary
Long-form narrative.

## Skills
### Languages
- Go

## Experience
### Company — Title
**Dates:** Apr 2024 – Present | **Location:** Remote

#### Overview
Role scope.

#### Notable work
##### Project name
Deliverables and tools.

Sample questions for your verbose resume

Interview yourself—or ask an LLM to ask one question at a time—so you capture employers, first teams, team moves, cross-team work, and project specifics while they are still fresh.

Starter prompts: What company do you work at? What team did you start on? What did you accomplish with that team? What was the next team you moved to at the same company? Any special accomplishments from cross-team or program work?

MCP: get_verbose_resume_questions · Open question guide (plain Markdown)

Full question guide (preview)

Example verbose resume (fictional)

Very verbose sample for structure and depth only—Alex Rivera at Meridian Analytics, Lattice Systems, and Northwind Digital. Not a real person.

MCP: get_example_verbose_resume · Open Alex Rivera example (plain Markdown)

Full example (preview)

Upload JSON format

The upload file is the concise final resume. It should match this shape:

{
  "Name": "Your Name",
  "Location": "City, ST",
  "Phone": "555-0100",
  "Email": "you@example.com",
  "Website": "https://example.com",
  "Github": "https://github.com/example",
  "Summary": "Short tailored summary.",
  "Skills": {
    "Languages": ["Go", "Python", "Bash"],
    "Cloud & Containers": ["Kubernetes", "AWS"],
    "CI / CD": ["GitHub Actions", "ArgoCD"]
  },
  "Experience": [
    {
      "Title": "Role title",
      "Company": "Company name",
      "Location": "Remote",
      "Date": "Apr 2024 - Present",
      "Details": ["Tailored bullet focused on the target role."]
    }
  ],
  "Education": [
    {
      "Degree": "Degree name",
      "School": "School name",
      "Location": "City, ST",
      "Date": "May 2009"
    }
  ],
  "Certifications": ["Certification name"]
}

Save that file as .json, then upload it on the generator — no clone or local install required.

Tailor with an LLM (JSON loop)

Keep one verboseResume.md as your long memory. For each application, work in a tight loop with ChatGPT, Claude, Gemini, or another assistant—the artifact you iterate on is upload JSON, not a second Markdown resume.

  1. Attach or paste verboseResume.md, the job description, and the upload JSON shape from the section above (or MCP get_upload_json_format).
  2. Ask the model for only valid upload JSON. Save it as a .json file.
  3. Upload that JSON on the generator, pick a template, and review the HTML preview.
  4. Not happy with a bullet, emphasis, or length? Paste the current JSON back to the same chat with plain-language feedback. Ask for a revised JSON. Re-upload and preview again.
  5. When it looks right, print or save PDF. Optional: WYSIWYG edit mode for small wording tweaks in the browser—then fix the JSON in your bot if you want the file to stay in sync.

Do not maintain a parallel Markdown copy of the tailored resume. The verbose Markdown file is the source of truth; the JSON is the tailored snapshot for this job.

First pass prompt:

You are helping me tailor my resume for the job description below.
Use only facts from my verbose resume (verboseResume.md).
Do not invent employers, dates, tools, credentials, outcomes, metrics,
citizenship status, clearance, or experience.

Select the most relevant experience, compress it, and output only valid JSON
matching the Verbose Resume upload format.

Prioritize relevance, truthful impact, short specific bullets, and a resume
that fits cleanly into one to two pages.

Inputs:
1. My verbose resume (attached).
2. The target job description (below).
3. The Verbose Resume upload JSON spec (below).
4. Any special constraints I add.

Output only the final JSON.

Revision pass prompt (after you preview on the site):

Here is my current tailored resume JSON and feedback on the preview.

Revise the JSON only. Keep all facts truthful and supported by my verbose resume.
Do not invent experience. Output only the complete updated JSON in the same
upload format—no commentary outside the JSON.

Feedback:
- [e.g. shorten summary, stronger platform bullets, drop older role]

Current JSON:
[paste JSON here]

MCP endpoint

There is a lightweight MCP-compatible JSON-RPC endpoint at /mcp. Guidance tools:

  • get_resume_generator_guide
  • get_verbose_resume_format
  • get_verbose_resume_questions
  • get_example_verbose_resume
  • get_upload_json_format
  • get_llm_prompt_guide
  • get_api_guide — HTTP API docs for vr_ API keys (verbose resume, applications, interviews, tailored JSON)

Artifact tool for agents (optional, not the human loop above):

  • create_resume_artifact turns upload JSON into standalone HTML, normalized JSON, and local PDF instructions for agent-driven workflows.

Humans normally iterate JSON in chat, upload here, and print from the browser. Agents can use MCP tools to read specs and emit JSON the same way.

API keys

Sign in with GitHub, then open Profile → API keys to create a vr_ token for scripts and agents. Keys use read or read_write scope.

Send the key on every HTTP API request:

Authorization: Bearer vr_YOUR_KEY_HERE

Endpoints (session cookie or Bearer token):

  • GET / PUT /api/verbose-resume — your stored Markdown source file
  • GET / POST /api/applications — list or create job applications
  • POST /api/job-import — import a posting URL (LinkedIn, Ashby, Greenhouse, Lever, or generic HTML)
  • GET / PATCH / DELETE /api/applications/{id} — update status, notes, URLs ({id} is your per-user application number)
  • GET / POST /api/applications/{id}/interviews — interview notes
  • GET / POST /api/applications/{id}/tailored-resumes — tailored upload JSON per application

Full curl examples and field shapes: MCP get_api_guide or sign in and create a key on your profile.