Traditional Resume
Single-column reverse-chronological A4 resume with centred name + contact header, serif-friendly summary, experience with bullet achievements, education, skills grouped by category and optional languages + certifications. Conservative styling suited to formal industries.

DSL source
The whole template. Learn the language in the template DSL guide.
const sectionHeading = (text) =>
col({ margin: [0, 2, 0, 2] },
s({ "font-family": "NotoSans", "font-size": 10.5, "font-weight": 700, "letter-spacing": 1, color: "#1a1a1a" }, text),
hr(2, "#1a1a1a"),
);
const template = doc(
{
size: "A4",
title: "{{name}} — Resume",
padding: [32, 48, 32, 48],
styles: {
body: { "font-family": "NotoSans", "font-size": 11, "line-height": 1.35, color: "#1a1a1a" },
meta: { "font-family": "NotoSans", "font-size": 9, color: "#555555" },
roleLine: { "font-family": "NotoSans", "font-size": 11, "font-weight": 700, color: "#1a1a1a" },
dateLine: { "font-family": "NotoSans", "font-size": 9, color: "#555555", "font-style": "italic" },
name: { "font-family": "NotoSans", "font-size": 20, "font-weight": 700, "letter-spacing": 1, color: "#1a1a1a" },
title: { "font-family": "NotoSans", "font-size": 11.5, "font-style": "italic", color: "#333333" },
},
},
// Header
col({ align: "center", margin: [0, 0, 0, 4] },
s(".name", "{{name}}"),
),
col({ align: "center", margin: [0, 0, 0, 4] },
s(".title", "{{title}}"),
),
col({ align: "center", margin: [0, 0, 0, 3] },
s(".meta", "{{contact.location}} • {{contact.phone}} • {{contact.email}}"),
),
col({ align: "center", margin: [0, 0, 0, 6] },
s(".meta", "{{contact.website}} • {{contact.linkedin}} • {{contact.github}}"),
),
hr(4, "#1a1a1a"),
// Summary
sectionHeading("SUMMARY"),
col({ margin: [0, 0, 0, 6] },
s(".body", "{{summary}}"),
),
// Experience
sectionHeading("EXPERIENCE"),
each("job in experience",
col({ margin: [0, 3, 0, 6] },
r({ margin: [0, 0, 0, 1] },
col("70%", s(".roleLine", "{{job.role}}, {{job.company}}")),
col({ width: "30%", align: "right" }, s(".dateLine", "{{job.from}} – {{job.to}}")),
),
col({ margin: [0, 0, 0, 2] },
s(".meta", "{{job.location}}"),
),
each("b in job.bullets",
r({ margin: [0, 1, 0, 0] },
col({ width: "3%" }, s(".body", "•")),
col("97%", s(".body", "{{b}}")),
),
),
),
),
// Education
sectionHeading("EDUCATION"),
each("ed in education",
col({ margin: [0, 3, 0, 4] },
r({ margin: [0, 0, 0, 1] },
col("70%", s(".roleLine", "{{ed.institution}}")),
col({ width: "30%", align: "right" }, s(".dateLine", "{{ed.from}} – {{ed.to}}")),
),
r({ margin: [0, 0, 0, 1] },
col("70%", s(".body", "{{ed.degree}}")),
col({ width: "30%", align: "right" }, s(".meta", "{{ed.location}}")),
),
col(s(".meta", "{{ed.detail}}")),
),
),
// Skills
sectionHeading("SKILLS"),
col({ margin: [0, 2, 0, 4] },
each("g in skills",
r({ margin: [0, 1, 0, 1] },
col("22%", s({ "font-family": "NotoSans", "font-size": 11, "font-weight": 700 }, "{{g.category}}")),
col("78%",
each("it, i in g.items",
s(".body", "{{i == 0 ? '' : ', '}}{{it}}"),
),
),
),
),
),
// Projects
sectionHeading("PROJECTS"),
each("p in projects",
col({ margin: [0, 3, 0, 4] },
r({ margin: [0, 0, 0, 1] },
col("70%", s(".roleLine", "{{p.name}} — "), s({ "font-family": "NotoSans", "font-size": 11, "font-style": "italic" }, "{{p.role}}")),
col({ width: "30%", align: "right" }, s(".meta", "{{p.url}}")),
),
col(s(".body", "{{p.description}}")),
),
),
// Languages
sectionHeading("LANGUAGES"),
col({ margin: [0, 2, 0, 4] },
r(
each("l, i in languages",
col({ width: "33%" },
s({ "font-family": "NotoSans", "font-size": 11, "font-weight": 700 }, "{{l.name}}"),
s(".body", " — "),
s(".body", "{{l.level}}"),
),
),
),
),
// Certifications
sectionHeading("CERTIFICATIONS"),
each("c in certifications",
r({ margin: [0, 1, 0, 1] },
col("70%",
s({ "font-family": "NotoSans", "font-size": 11, "font-weight": 700 }, "{{c.name}}"),
s(".body", " — "),
s(".body", "{{c.issuer}}"),
),
col({ width: "30%", align: "right" }, s(".meta", "{{c.year}}")),
),
),
ftrPages("{{name}}"),
);
const sampleData = {
name: "Harriet Okonkwo-Salazar",
title: "Senior Product Engineer",
contact: {
email: "harriet.os@example.com",
phone: "+1 (206) 555-0137",
location: "Seattle, WA",
website: "harriet.dev",
linkedin: "linkedin.com/in/harriet-os",
github: "github.com/harriet-os",
},
summary:
"Senior product engineer with 11 years shipping developer-facing infrastructure across billing, auth and observability. Strong track record of reducing oncall load and turning ambiguous product requirements into durable, well-tested systems. Enjoys mentoring, API design and boring, reliable software.",
experience: [
{
company: "Northline Studios",
role: "Staff Product Engineer",
location: "Seattle, WA (remote)",
from: "February 2023",
to: "Present",
bullets: [
"Led the migration of the billing platform from a monolithic Rails service to a modular Cloudflare Workers + D1 architecture, cutting p99 checkout latency from 820ms to 140ms and halving infrastructure spend.",
"Designed and shipped the customer-facing metered-usage API (PDF renders, API credits, storage) used by 4,200+ paying teams, with idempotent writes and exactly-once invoice reconciliation.",
"Rebuilt the oncall rotation tooling and paging taxonomy, reducing out-of-hours pages by 62% over two quarters without regressing MTTR.",
"Mentored four engineers through the senior promotion pipeline; three promoted within 18 months.",
],
},
{
company: "Cascadia Federal Credit Union",
role: "Senior Software Engineer — Platform",
location: "Seattle, WA",
from: "August 2019",
to: "January 2023",
bullets: [
"Led the re-architecture of the member authentication stack to a zero-trust, device-bound model, reducing account-takeover incidents by 88% year over year.",
"Owned the observability platform (metrics, logs, traces) across 140+ services; introduced service-level objectives tooling adopted by every product team.",
"Represented engineering on the quarterly compliance review board, partnering with risk and legal on SOX and PCI-DSS controls.",
],
},
{
company: "Pagliacci Software",
role: "Software Engineer",
location: "Portland, OR",
from: "June 2016",
to: "July 2019",
bullets: [
"Shipped the point-of-sale integration platform used across 280+ retail locations, handling 1.4M transactions per day at peak.",
"Built the first generation of the company's public REST API, including rate limiting, key rotation and developer portal documentation.",
"Reduced end-to-end test flake from 22% to <1% by rewriting the fixture layer on top of deterministic seed data.",
],
},
{
company: "Elliott Bay Digital",
role: "Junior Developer",
location: "Seattle, WA",
from: "September 2014",
to: "May 2016",
bullets: [
"Implemented the bookstore's e-commerce storefront and inventory sync against a legacy SOAP warehouse system.",
"Co-authored the content-management pipeline that powered the staff-recommendations section on the homepage.",
],
},
],
education: [
{
institution: "University of Washington",
degree: "B.S. Computer Science, magna cum laude",
location: "Seattle, WA",
from: "2010",
to: "2014",
detail: "Focus on distributed systems and programming languages. Undergraduate research assistant in the PLSE lab.",
},
{
institution: "The Cascadia Institute of Design Leadership",
degree: "Certificate, Advanced Practice in Systems Design",
location: "Seattle, WA",
from: "2024",
to: "2025",
detail: "With distinction.",
},
],
skills: [
{ category: "Languages", items: ["TypeScript", "Go", "Python", "Rust (working knowledge)", "SQL"] },
{ category: "Platforms", items: ["Cloudflare Workers", "AWS", "PostgreSQL", "D1 / SQLite", "Redis", "Kafka"] },
{ category: "Practice", items: ["API design", "Observability", "Incident response", "Technical writing", "Mentorship"] },
],
languages: [
{ name: "English", level: "Native" },
{ name: "Spanish", level: "Professional working" },
{ name: "Igbo", level: "Conversational" },
],
certifications: [
{ name: "AWS Solutions Architect — Associate", issuer: "Amazon Web Services", year: "2022" },
{ name: "Certified Kubernetes Administrator", issuer: "CNCF", year: "2021" },
],
projects: [
{
name: "makesPDF",
role: "Creator & maintainer",
url: "github.com/makesPDF",
description: "Open-source deterministic PDF layout engine and hosted API. 4k+ GitHub stars; used in production by several YC-backed teams.",
},
{
name: "oncall-tax",
role: "Co-author",
url: "github.com/harriet-os/oncall-tax",
description: "CLI that quantifies the hidden cost of interruption-driven work across an engineering organisation.",
},
],
};Sample data
{
"name": "Harriet Okonkwo-Salazar",
"title": "Senior Product Engineer",
"contact": {
"email": "harriet.os@example.com",
"phone": "+1 (206) 555-0137",
"location": "Seattle, WA",
"website": "harriet.dev",
"linkedin": "linkedin.com/in/harriet-os",
"github": "github.com/harriet-os"
},
"summary": "Senior product engineer with 11 years shipping developer-facing infrastructure across billing, auth and observability. Strong track record of reducing oncall load and turning ambiguous product requirements into durable, well-tested systems. Enjoys mentoring, API design and boring, reliable software.",
"experience": [
{
"company": "Northline Studios",
"role": "Staff Product Engineer",
"location": "Seattle, WA (remote)",
"from": "February 2023",
"to": "Present",
"bullets": [
"Led the migration of the billing platform from a monolithic Rails service to a modular Cloudflare Workers + D1 architecture, cutting p99 checkout latency from 820ms to 140ms and halving infrastructure spend.",
"Designed and shipped the customer-facing metered-usage API (PDF renders, API credits, storage) used by 4,200+ paying teams, with idempotent writes and exactly-once invoice reconciliation.",
"Rebuilt the oncall rotation tooling and paging taxonomy, reducing out-of-hours pages by 62% over two quarters without regressing MTTR.",
"Mentored four engineers through the senior promotion pipeline; three promoted within 18 months."
]
},
{
"company": "Cascadia Federal Credit Union",
"role": "Senior Software Engineer — Platform",
"location": "Seattle, WA",
"from": "August 2019",
"to": "January 2023",
"bullets": [
"Led the re-architecture of the member authentication stack to a zero-trust, device-bound model, reducing account-takeover incidents by 88% year over year.",
"Owned the observability platform (metrics, logs, traces) across 140+ services; introduced service-level objectives tooling adopted by every product team.",
"Represented engineering on the quarterly compliance review board, partnering with risk and legal on SOX and PCI-DSS controls."
]
},
{
"company": "Pagliacci Software",
"role": "Software Engineer",
"location": "Portland, OR",
"from": "June 2016",
"to": "July 2019",
"bullets": [
"Shipped the point-of-sale integration platform used across 280+ retail locations, handling 1.4M transactions per day at peak.",
"Built the first generation of the company's public REST API, including rate limiting, key rotation and developer portal documentation.",
"Reduced end-to-end test flake from 22% to <1% by rewriting the fixture layer on top of deterministic seed data."
]
},
{
"company": "Elliott Bay Digital",
"role": "Junior Developer",
"location": "Seattle, WA",
"from": "September 2014",
"to": "May 2016",
"bullets": [
"Implemented the bookstore's e-commerce storefront and inventory sync against a legacy SOAP warehouse system.",
"Co-authored the content-management pipeline that powered the staff-recommendations section on the homepage."
]
}
],
"education": [
{
"institution": "University of Washington",
"degree": "B.S. Computer Science, magna cum laude",
"location": "Seattle, WA",
"from": "2010",
"to": "2014",
"detail": "Focus on distributed systems and programming languages. Undergraduate research assistant in the PLSE lab."
},
{
"institution": "The Cascadia Institute of Design Leadership",
"degree": "Certificate, Advanced Practice in Systems Design",
"location": "Seattle, WA",
"from": "2024",
"to": "2025",
"detail": "With distinction."
}
],
"skills": [
{
"category": "Languages",
"items": [
"TypeScript",
"Go",
"Python",
"Rust (working knowledge)",
"SQL"
]
},
{
"category": "Platforms",
"items": [
"Cloudflare Workers",
"AWS",
"PostgreSQL",
"D1 / SQLite",
"Redis",
"Kafka"
]
},
{
"category": "Practice",
"items": [
"API design",
"Observability",
"Incident response",
"Technical writing",
"Mentorship"
]
}
],
"languages": [
{
"name": "English",
"level": "Native"
},
{
"name": "Spanish",
"level": "Professional working"
},
{
"name": "Igbo",
"level": "Conversational"
}
],
"certifications": [
{
"name": "AWS Solutions Architect — Associate",
"issuer": "Amazon Web Services",
"year": "2022"
},
{
"name": "Certified Kubernetes Administrator",
"issuer": "CNCF",
"year": "2021"
}
],
"projects": [
{
"name": "makesPDF",
"role": "Creator & maintainer",
"url": "github.com/makesPDF",
"description": "Open-source deterministic PDF layout engine and hosted API. 4k+ GitHub stars; used in production by several YC-backed teams."
},
{
"name": "oncall-tax",
"role": "Co-author",
"url": "github.com/harriet-os/oncall-tax",
"description": "CLI that quantifies the hidden cost of interruption-driven work across an engineering organisation."
}
]
}Render it with your data
Any API key can render this template by its ID. This call uses the sample data; add a data object to use your own. See the API reference.
curl -X POST https://makespdf.com/api/v1/render \
-H "Authorization: Bearer $MAKESPDF_API_KEY" \
-H "Content-Type: application/json" \
-d '{"templateId": "resume-traditional"}' \
-o output.pdf