One resume.yml. Every format.
Write your resume as structured YAML. Get themed HTML, ATS plain text, JSON Resume, and Markdown — from a single Go binary that doubles as a CLI, a live web editor, and a CI target.
Your resume is structured data — a name, jobs, dates, skills. Not a Word document.
Once it's YAML it becomes:
- Diffable.
git diffshows every change across every version. - Re-themable. Swap
meta.theme: saptometa.theme: aurora. Same content, new look. - Multi-format. One source → HTML + PDF + JSON Resume + ATS text + Markdown.
- Portable. Single Go binary. No Node, no Python, no Docker required.
- Schema-validated. VS Code autocompletes fields and red-squiggles typos.
Visit resumelang.dev — no install needed.
- Live YAML editor with instant preview
- 13 built-in themes
- Download HTML, ATS text, or print to PDF
- Share via encrypted URL (AES-GCM, decrypted in-browser)
- Sign in with GitHub or LinkedIn to save resumes to your dashboard
go install github.com/ovsec/resumelang@latest
resumelang init # scaffold resume.yml
resumelang build resume.yml # → dist/ with all formats
resumelang serve # local editor at http://localhost:3000
resumelang validate resume.yml # schema checkPush resume.yml, get a live GitHub Pages site. Drop this into .github/workflows/resume.yml:
on:
push:
paths: ["resume.yml"]
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with: { go-version: "1.22" }
- run: go install github.com/ovsec/resumelang@latest
- run: resumelang build resume.yml --out dist
- uses: actions/upload-pages-artifact@v3
with: { path: dist }
- uses: actions/deploy-pages@v4Enable Pages under Settings → Pages → Source: GitHub Actions, then push.
# Install
go install github.com/ovsec/resumelang@latest
# Create starter resume
resumelang init
# → resume.yml
# Build all formats
resumelang build resume.yml
# → dist/resume.html
# → dist/resume.json
# → dist/resume.md
# → dist/resume.txt
# Open live editor
resumelang serve
# → http://localhost:3000# yaml-language-server: $schema=https://resumelang.dev/schema/v1.json
resumelang: v1
meta:
theme: sap # sap | minimal | aurora | material | vercel | linear | brutalist | ...
language: en # en | de | fr | es | pt | ja | zh
page_size: a4 # a4 | letter
color: "#0070f2" # accent color override
sections:
- summary
- experience
- education
- skills
- projects
- certifications
person:
name: Ashok Saha
title: Senior Software Engineer
email: ashok@example.com
phone: "+1 555 000 0000"
location: Stockholm, Sweden
website: https://ashoksaha.dev
github: ashoksaha
linkedin: ashoksaha
summary: |
Experienced engineer with 8 years building distributed systems.
experience:
- company: Acme Corp
role: Lead Engineer
location: Stockholm
start: "2021"
end: "" # blank = Present
highlights:
- Scaled API to 10M requests/day
- Reduced CI deploy time by 60%
tags: [Go, Kubernetes, Postgres]
education:
- institution: KTH Royal Institute of Technology
degree: MSc
field: Computer Science
start: "2013"
end: "2015"
skills:
- category: Languages
skills: [Go, TypeScript, Python, Rust]
projects:
- name: gitshare
description: P2P git repo sharing. Zero-dependency single binary.
url: https://github.com/ashoksaha/gitshare
tags: [Go, P2P, CLI]Full schema reference → docs.resumelang.dev/schema
13 built-in themes. Switch with one line in YAML or from the editor dropdown.
| Theme | Style |
|---|---|
sap |
Two-column, sidebar, consulting/finance |
minimal |
One-page, clean, ATS-friendly |
aurora |
Modern gradient, designer-leaning |
material |
Card-based grid, tech roles |
vercel |
Dark, minimal, developer aesthetic |
linear |
Clean timeline layout |
brutalist |
High contrast, editorial |
terminal |
Monospace, dark, hacker |
editorial |
Magazine-style typography |
dossier |
Dense, document-style |
academic |
CV format, publications-friendly |
finance |
Formal, two-column, banking/consulting |
timeline |
Visual timeline for experience |
Custom themes use a theme.yml spec — validated at build time:
resumelang theme validate ./my-theme| Command | Purpose |
|---|---|
init [file] |
Scaffold a starter resume.yml |
build [file] |
Compile to html, json, md, txt |
validate [file] |
Schema check + warnings |
serve [--port N] |
Launch local web editor |
themes |
List built-in themes |
theme validate <dir> |
Lint a custom theme |
version |
Print binary version |
Build flags:
resumelang build resume.yml --out public --formats html,txt
resumelang build jane.resume.yml --theme auroragit clone https://github.com/ovsec/resumelang
cd resumelang
go build -o resumelang .
./resumelang serve --port 8080OAuth login (optional):
export RL_GITHUB_CLIENT_ID=...
export RL_GITHUB_CLIENT_SECRET=...
export RL_AUTH_SECRET=<32-byte random string>
./resumelang serveDocker:
docker build -t resumelang .
docker run -p 8080:8080 resumelang| Format | File | Notes |
|---|---|---|
| HTML | resume.html |
Themed, print-ready, self-contained |
| JSON | resume.json |
jsonresume.org schema |
| Markdown | resume.md |
GitHub-flavored |
| ATS text | resume.txt |
Plain text, safe for applicant tracking systems |
| — | Print resume.html from browser; native export coming |
| Feature | Status |
|---|---|
| Native PDF (server-side Puppeteer) | In progress |
resumelang lint — ATS keyword score |
Planned |
LinkedIn import (import linkedin export.zip) |
Planned |
| JSON Resume import | Planned |
| AI resume tailoring (Pro) | Planned |
| Link analytics — see who opens your resume (Pro) | Planned |
| Custom domain publishing (Pro) | Planned |
Full roadmap → docs.resumelang.dev/roadmap
git clone https://github.com/ovsec/resumelang
cd resumelang
go mod tidy
go build -o resumelang .
go test ./...
./resumelang serve # opens editor at http://localhost:3000- Issues and feature requests → GitHub Issues
- New themes welcome — see Themes docs for the
theme.ymlspec - All PRs should pass
go test ./...andresumelang validate examples/sap-consultant.resume.yml
Built with open source:
| Library | Use |
|---|---|
| Go Fiber | Web framework |
| HTMX | Server-driven UI |
| CodeMirror | Code editor |
| raymond | Handlebars templates |
| yaml.v3 | YAML parsing |
| Inter | UI typeface |
| JetBrains Mono | Code typeface |
MIT © Abhishek Saha
