Skip to content

FAQ

Yes. Sections render in the exact order they appear in the sections: array. To hide a section, comment it out or delete it.

sections:
- type: text
title: Summary
content: ...
# - type: projects # commented out, hidden from the resume
# title: Projects
# items: [...]
- type: experience
title: Experience
items: [...]

Yes. The type: field is the semantic category, title: is just the heading. You can use the same type multiple times with different titles:

- type: experience
title: Professional Experience
items: [...]
- type: experience
title: Freelance Work
items: [...]

You cannot mix two languages in a single resume file, but you can maintain two files:

my-resume-en.yaml
my-resume-de.yaml

Save them as two separate resumes in the editor. Each publishes to its own slug (app.devresume.io/r/jane-en, app.devresume.io/r/jane-de).

Section titles follow the language you pick, since title: is free-form:

# English
- type: experience
title: Experience
# German
- type: experience
title: Berufserfahrung

Use a proper bullet character, not a hyphen:

description: |
• First bullet # ✓ renders as a clean bullet
- Second bullet # may render as a thin dash depending on theme
* Third bullet # avoid, can be interpreted as Markdown emphasis

See Multi-line text for the full pattern.

The PDF is cutting sections in half across pages

Section titled “The PDF is cutting sections in half across pages”

Set section_breaks: true at the top level:

name: Jane Developer
section_breaks: true
sections: [...]

With this flag, any section that does not fit on the current page starts a new page instead of splitting. Without it, sections can wrap across pages.

No. Descriptions are rendered as plain text with line breaks preserved (for |) or folded (for >). Bold, italic, links, etc. are not supported. This keeps the PDF output predictable and ATS-friendly.

For emphasis, rely on the section structure and bullet points.

Two options:

Option A — Upload in Account Settings (recommended for signed-in users). Open app.devresume.io/settings/account and upload a JPG, PNG, or WebP (max 5 MB) under “Profile Picture”. The uploaded avatar is served from a stable URL you can reference from your resume YAML.

Option B — Any public URL in the YAML.

profile_image: https://avatars.githubusercontent.com/u/123456

Any https:// image URL works. The image is fetched at render time; data URIs and local file paths are not supported.

Not every theme shows the profile image. If your chosen theme does not have an avatar slot, the field is simply ignored.

  • Without an account: your YAML is kept in the browser’s local storage. You can edit and preview, but saving, publishing, and watermark-free PDF export require signing up. PDF export also uploads the YAML to devResume’s rendering server at request time.
  • Signed-in use: saved resumes are stored on devResume servers and are private by default. Only your public-profile slug exposes the resume, and only the slugs you choose to publish.
  • Public profiles: live at app.devresume.io/r/<slug>. Shareable by link, not indexed by Google or other search engines.

YAML input is capped at 50 KB. That is multiple hundred KB worth of text content, so most resumes fit with room to spare. If you are approaching the limit, consider shortening descriptions or splitting into multiple resumes.

Absolutely, that is the point. The YAML you edit in the browser is plain text; copy it into a file locally, commit it, diff changes across versions, open PRs against yourself to add a new job, and so on. Paste the YAML back into the editor when you want to render a PDF or update the public profile.

Build it. Themes are open source, in the devresume-themes repo. See Contributing a Theme for the workflow.