Give professional resume format which can be edited
ls -la /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or not found"
~/resume/build_resume.js
const {
Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell,
AlignmentType, LevelFormat, BorderStyle, WidthType, VerticalAlign,
HeadingLevel, ShadingType, UnderlineType
} = require('docx');
const fs = require('fs');
// ── Colour palette ──────────────────────────────────────────────
const ACCENT = "1F3864"; // deep navy – header background
const ACCENT_LT = "2E74B5"; // medium blue – section bars
const WHITE = "FFFFFF";
const TEXT_DARK = "1A1A1A";
const TEXT_MID = "444444";
const LIGHT_GRAY = "F2F4F7";
const MID_GRAY = "BDC3C7";
// ── Bullet numbering config ──────────────────────────────────────
const numberingConfig = {
config: [
{
reference: "bullets",
levels: [{
level: 0,
format: LevelFormat.BULLET,
text: "\u2022",
alignment: AlignmentType.LEFT,
style: { paragraph: { indent: { left: 360, hanging: 200 } } }
}]
}
]
};
// ── Helpers ──────────────────────────────────────────────────────
function bullet(text) {
return new Paragraph({
numbering: { reference: "bullets", level: 0 },
spacing: { before: 40, after: 40 },
children: [new TextRun({ text, font: "Calibri", size: 20, color: TEXT_DARK })]
});
}
function sectionDivider(title) {
return new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
margins: { top: 0, bottom: 0, left: 0, right: 0 },
borders: {
top: { style: BorderStyle.NONE }, bottom: { style: BorderStyle.NONE },
left: { style: BorderStyle.NONE }, right: { style: BorderStyle.NONE },
insideH: { style: BorderStyle.NONE }, insideV: { style: BorderStyle.NONE }
},
rows: [
new TableRow({
children: [
new TableCell({
width: { size: 100, type: WidthType.PERCENTAGE },
shading: { type: ShadingType.SOLID, color: ACCENT_LT, fill: ACCENT_LT },
margins: { top: 80, bottom: 80, left: 160, right: 160 },
children: [
new Paragraph({
alignment: AlignmentType.LEFT,
spacing: { before: 0, after: 0 },
children: [new TextRun({
text: title.toUpperCase(),
font: "Calibri", size: 22, bold: true, color: WHITE,
characterSpacing: 40
})]
})
]
})
]
})
]
});
}
function gap(pts = 60) {
return new Paragraph({ spacing: { before: 0, after: pts }, children: [] });
}
function jobEntry({ title, company, location, dates, bullets }) {
const rows = [];
// Title + Dates row
rows.push(new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
borders: {
top: { style: BorderStyle.NONE }, bottom: { style: BorderStyle.NONE },
left: { style: BorderStyle.NONE }, right: { style: BorderStyle.NONE },
insideH: { style: BorderStyle.NONE }, insideV: { style: BorderStyle.NONE }
},
rows: [
new TableRow({
children: [
new TableCell({
width: { size: 75, type: WidthType.PERCENTAGE },
borders: {
top: { style: BorderStyle.NONE }, bottom: { style: BorderStyle.NONE },
left: { style: BorderStyle.NONE }, right: { style: BorderStyle.NONE }
},
children: [
new Paragraph({
spacing: { before: 100, after: 0 },
children: [new TextRun({ text: title, font: "Calibri", size: 22, bold: true, color: TEXT_DARK })]
}),
new Paragraph({
spacing: { before: 0, after: 40 },
children: [
new TextRun({ text: company, font: "Calibri", size: 20, bold: true, color: ACCENT_LT }),
new TextRun({ text: " | " + location, font: "Calibri", size: 20, color: TEXT_MID, italics: true })
]
})
]
}),
new TableCell({
width: { size: 25, type: WidthType.PERCENTAGE },
verticalAlign: VerticalAlign.CENTER,
borders: {
top: { style: BorderStyle.NONE }, bottom: { style: BorderStyle.NONE },
left: { style: BorderStyle.NONE }, right: { style: BorderStyle.NONE }
},
children: [
new Paragraph({
alignment: AlignmentType.RIGHT,
spacing: { before: 100, after: 40 },
children: [new TextRun({ text: dates, font: "Calibri", size: 20, color: TEXT_MID, italics: true })]
})
]
})
]
})
]
}));
for (const b of bullets) rows.push(bullet(b));
rows.push(gap(80));
return rows;
}
function eduEntry({ degree, institution, location, dates, detail }) {
const items = [];
items.push(new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
borders: {
top: { style: BorderStyle.NONE }, bottom: { style: BorderStyle.NONE },
left: { style: BorderStyle.NONE }, right: { style: BorderStyle.NONE },
insideH: { style: BorderStyle.NONE }, insideV: { style: BorderStyle.NONE }
},
rows: [
new TableRow({
children: [
new TableCell({
width: { size: 75, type: WidthType.PERCENTAGE },
borders: {
top: { style: BorderStyle.NONE }, bottom: { style: BorderStyle.NONE },
left: { style: BorderStyle.NONE }, right: { style: BorderStyle.NONE }
},
children: [
new Paragraph({
spacing: { before: 100, after: 0 },
children: [new TextRun({ text: degree, font: "Calibri", size: 22, bold: true, color: TEXT_DARK })]
}),
new Paragraph({
spacing: { before: 0, after: 40 },
children: [
new TextRun({ text: institution, font: "Calibri", size: 20, bold: true, color: ACCENT_LT }),
new TextRun({ text: " | " + location, font: "Calibri", size: 20, color: TEXT_MID, italics: true })
]
}),
...(detail ? [new Paragraph({
spacing: { before: 0, after: 40 },
children: [new TextRun({ text: detail, font: "Calibri", size: 20, color: TEXT_MID })]
})] : [])
]
}),
new TableCell({
width: { size: 25, type: WidthType.PERCENTAGE },
verticalAlign: VerticalAlign.CENTER,
borders: {
top: { style: BorderStyle.NONE }, bottom: { style: BorderStyle.NONE },
left: { style: BorderStyle.NONE }, right: { style: BorderStyle.NONE }
},
children: [
new Paragraph({
alignment: AlignmentType.RIGHT,
spacing: { before: 100, after: 40 },
children: [new TextRun({ text: dates, font: "Calibri", size: 20, color: TEXT_MID, italics: true })]
})
]
})
]
})
]
}));
items.push(gap(80));
return items;
}
function skillRow(category, skills) {
return new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
borders: {
top: { style: BorderStyle.NONE }, bottom: { style: BorderStyle.NONE },
left: { style: BorderStyle.NONE }, right: { style: BorderStyle.NONE },
insideH: { style: BorderStyle.NONE }, insideV: { style: BorderStyle.NONE }
},
rows: [
new TableRow({
children: [
new TableCell({
width: { size: 28, type: WidthType.PERCENTAGE },
borders: {
top: { style: BorderStyle.NONE }, bottom: { style: BorderStyle.NONE },
left: { style: BorderStyle.NONE }, right: { style: BorderStyle.NONE }
},
shading: { type: ShadingType.SOLID, color: LIGHT_GRAY, fill: LIGHT_GRAY },
margins: { top: 80, bottom: 80, left: 160, right: 160 },
children: [
new Paragraph({
children: [new TextRun({ text: category, font: "Calibri", size: 20, bold: true, color: TEXT_DARK })]
})
]
}),
new TableCell({
width: { size: 72, type: WidthType.PERCENTAGE },
borders: {
top: { style: BorderStyle.NONE }, bottom: { style: BorderStyle.NONE },
left: { style: BorderStyle.NONE }, right: { style: BorderStyle.NONE }
},
margins: { top: 80, bottom: 80, left: 200, right: 160 },
children: [
new Paragraph({
children: [new TextRun({ text: skills, font: "Calibri", size: 20, color: TEXT_DARK })]
})
]
})
]
})
]
});
}
// ── Header banner ────────────────────────────────────────────────
const headerBanner = new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
borders: {
top: { style: BorderStyle.NONE }, bottom: { style: BorderStyle.NONE },
left: { style: BorderStyle.NONE }, right: { style: BorderStyle.NONE },
insideH: { style: BorderStyle.NONE }, insideV: { style: BorderStyle.NONE }
},
rows: [
new TableRow({
children: [
new TableCell({
width: { size: 100, type: WidthType.PERCENTAGE },
shading: { type: ShadingType.SOLID, color: ACCENT, fill: ACCENT },
margins: { top: 300, bottom: 300, left: 400, right: 400 },
children: [
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { before: 0, after: 80 },
children: [new TextRun({
text: "JOHN A. SMITH",
font: "Calibri", size: 52, bold: true, color: WHITE,
characterSpacing: 60
})]
}),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { before: 0, after: 80 },
children: [new TextRun({
text: "Senior Software Engineer · Full-Stack Development · Cloud Architecture",
font: "Calibri", size: 22, color: "A8C4E0", italics: false
})]
}),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { before: 60, after: 0 },
children: [
new TextRun({ text: "📍 San Francisco, CA", font: "Calibri", size: 19, color: "C9D9EE" }),
new TextRun({ text: " | ", font: "Calibri", size: 19, color: "7A99BB" }),
new TextRun({ text: "📞 +1 (415) 555-0192", font: "Calibri", size: 19, color: "C9D9EE" }),
new TextRun({ text: " | ", font: "Calibri", size: 19, color: "7A99BB" }),
new TextRun({ text: "✉ john.smith@email.com", font: "Calibri", size: 19, color: "C9D9EE" }),
new TextRun({ text: " | ", font: "Calibri", size: 19, color: "7A99BB" }),
new TextRun({ text: "🔗 linkedin.com/in/johnsmith", font: "Calibri", size: 19, color: "C9D9EE" })
]
})
]
})
]
})
]
});
// ── Professional Summary ─────────────────────────────────────────
const summarySection = [
gap(120),
sectionDivider("Professional Summary"),
gap(60),
new Paragraph({
spacing: { before: 0, after: 0 },
alignment: AlignmentType.JUSTIFIED,
children: [new TextRun({
text: "Results-driven Senior Software Engineer with 8+ years of experience designing and delivering scalable web applications and cloud-native solutions. Adept at leading cross-functional teams, architecting microservices, and driving agile development cycles from concept to production. Proven track record of reducing system latency by 40% and improving deployment frequency by 3×. Passionate about clean code, mentorship, and building products that make an impact.",
font: "Calibri", size: 20, color: TEXT_DARK
})]
}),
gap(100)
];
// ── Work Experience ──────────────────────────────────────────────
const experienceSection = [
sectionDivider("Work Experience"),
gap(60),
...jobEntry({
title: "Senior Software Engineer",
company: "TechCorp Inc.",
location: "San Francisco, CA",
dates: "Jan 2021 – Present",
bullets: [
"Architected and delivered a microservices platform serving 2M+ daily active users, reducing P95 latency by 42%.",
"Led a team of 6 engineers through 3 major product releases on schedule and within budget.",
"Designed CI/CD pipelines (GitHub Actions + Kubernetes) that cut deployment time from 45 min to 8 min.",
"Mentored 4 junior engineers; 2 subsequently promoted to mid-level roles."
]
}),
...jobEntry({
title: "Software Engineer II",
company: "DataStream Solutions",
location: "Austin, TX",
dates: "Jun 2018 – Dec 2020",
bullets: [
"Built real-time data ingestion pipeline processing 500K events/sec using Apache Kafka and Go.",
"Refactored legacy monolith into 12 independently deployable services, improving release cadence 3×.",
"Collaborated with product and design to ship 5 major features, driving a 28% increase in user retention.",
"Authored internal engineering standards adopted across 3 development teams."
]
}),
...jobEntry({
title: "Junior Software Engineer",
company: "StartApp Labs",
location: "New York, NY",
dates: "Jul 2016 – May 2018",
bullets: [
"Developed React front-end and Node.js REST APIs for a SaaS product with 50K+ subscribers.",
"Integrated Stripe payment gateway, enabling $1.2M in annual recurring revenue.",
"Reduced page load time by 35% through code splitting, lazy loading, and CDN optimisation."
]
})
];
// ── Education ────────────────────────────────────────────────────
const educationSection = [
sectionDivider("Education"),
gap(60),
...eduEntry({
degree: "B.S. Computer Science",
institution: "University of California, Berkeley",
location: "Berkeley, CA",
dates: "2012 – 2016",
detail: "GPA: 3.8 / 4.0 · Dean's List · Relevant coursework: Algorithms, Distributed Systems, ML"
})
];
// ── Skills ───────────────────────────────────────────────────────
const skillsSection = [
sectionDivider("Skills"),
gap(60),
skillRow("Languages", "JavaScript / TypeScript, Python, Go, Java, SQL"),
gap(30),
skillRow("Front-End", "React, Next.js, Vue.js, Tailwind CSS, GraphQL"),
gap(30),
skillRow("Back-End", "Node.js, Express, Django, FastAPI, gRPC"),
gap(30),
skillRow("Cloud & DevOps", "AWS (EC2, S3, Lambda, RDS), GCP, Docker, Kubernetes, Terraform"),
gap(30),
skillRow("Databases", "PostgreSQL, MongoDB, Redis, Elasticsearch, Snowflake"),
gap(30),
skillRow("Tools", "Git, JIRA, Figma, DataDog, Sentry, CircleCI"),
gap(100)
];
// ── Certifications ───────────────────────────────────────────────
const certSection = [
sectionDivider("Certifications & Awards"),
gap(60),
bullet("AWS Certified Solutions Architect – Professional (2023)"),
bullet("Google Cloud Professional Data Engineer (2022)"),
bullet("Certified Kubernetes Administrator (CKA) (2021)"),
bullet("TechCorp Engineering Excellence Award (2022, 2023)"),
gap(100)
];
// ── Projects ─────────────────────────────────────────────────────
const projectsSection = [
sectionDivider("Key Projects"),
gap(60),
new Paragraph({
spacing: { before: 80, after: 0 },
children: [new TextRun({ text: "OpenMetrics Dashboard", font: "Calibri", size: 21, bold: true, color: ACCENT_LT })]
}),
new Paragraph({
spacing: { before: 0, after: 40 },
children: [new TextRun({ text: "Open-source observability dashboard (2.3K GitHub stars). Built with React, Go, and InfluxDB; supports 15+ data-source integrations.", font: "Calibri", size: 20, color: TEXT_DARK })]
}),
new Paragraph({
spacing: { before: 80, after: 0 },
children: [new TextRun({ text: "AI Code Review Bot", font: "Calibri", size: 21, bold: true, color: ACCENT_LT })]
}),
new Paragraph({
spacing: { before: 0, after: 40 },
children: [new TextRun({ text: "GitHub Action that uses OpenAI GPT-4 to flag security issues and style violations in PRs. Deployed at 30+ organisations.", font: "Calibri", size: 20, color: TEXT_DARK })]
}),
gap(100)
];
// ── Assemble document ────────────────────────────────────────────
const doc = new Document({
numbering: numberingConfig,
styles: {
default: {
document: { run: { font: "Calibri", size: 20, color: TEXT_DARK } }
}
},
sections: [{
properties: {
page: {
margin: { top: 720, bottom: 720, left: 900, right: 900 }
}
},
children: [
headerBanner,
...summarySection,
...experienceSection,
...educationSection,
...skillsSection,
...certSection,
...projectsSection
]
}]
});
Packer.toBuffer(doc).then(buffer => {
fs.writeFileSync("/home/daytona/workspace/resume/Professional_Resume_Template.docx", buffer);
console.log("✅ Resume created successfully!");
}).catch(err => {
console.error("Error:", err);
process.exit(1);
});
~/resume
~/resume/build_resume.js
Error: String not found in file: 'const {
Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell,
AlignmentType, LevelFormat, BorderStyle, WidthType, VerticalAlign,
HeadingLevel, ShadingType, UnderlineType
} = require('docx');'cd /home/daytona/workspace/resume && node build_resume.js 2>&1 | tail -5
cat > /home/daytona/workspace/resume/build_resume_v2.js << 'ENDSCRIPT' const { Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell, AlignmentType, LevelFormat, BorderStyle, WidthType, VerticalAlign, ShadingType } = require('docx'); const fs = require('fs'); // ── Palette ────────────────────────────────────────────────────── const NAVY = "1F3864"; const BLUE = "2E74B5"; const WHITE = "FFFFFF"; const DARK = "1A1A1A"; const MID = "444444"; const LTGRAY = "F2F4F7"; // ── Numbering ──────────────────────────────────────────────────── const numbering = { config: [{ reference: "bullets", levels: [{ level: 0, format: LevelFormat.BULLET, text: "\u2022", alignment: AlignmentType.LEFT, style: { paragraph: { indent: { left: 400, hanging: 220 } } } }] }] }; // ── Utility functions ──────────────────────────────────────────── const noBorder = { style: BorderStyle.NONE, size: 0, color: "FFFFFF" }; const noAllBorders = { top: noBorder, bottom: noBorder, left: noBorder, right: noBorder, insideH: noBorder, insideV: noBorder }; function sp(before=0, after=0) { return { before, after }; } function txt(text, opts={}) { return new TextRun({ text, font: "Calibri", size: 20, color: DARK, ...opts }); } function gap(after=80) { return new Paragraph({ spacing: sp(0, after), children: [txt("")] }); } function bullet(text) { return new Paragraph({ numbering: { reference: "bullets", level: 0 }, spacing: sp(30, 30), children: [txt(text, { size: 19, color: MID })] }); } // Colored section bar function sectionBar(title) { return new Table({ width: { size: 100, type: WidthType.PERCENTAGE }, borders: noAllBorders, rows: [new TableRow({ children: [ new TableCell({ width: { size: 100, type: WidthType.PERCENTAGE }, borders: { top: noBorder, bottom: noBorder, left: noBorder, right: noBorder }, shading: { type: ShadingType.SOLID, color: BLUE, fill: BLUE }, margins: { top: 90, bottom: 90, left: 180, right: 180 }, children: [new Paragraph({ spacing: sp(0,0), children: [txt(title.toUpperCase(), { size: 21, bold: true, color: WHITE, characterSpacing: 50 })] })] }) ]})] }); } // Job entry (2-column: content left, date right) function jobEntry(title, company, location, dates, bullets_arr) { const contentCell = new TableCell({ width: { size: 74, type: WidthType.PERCENTAGE }, borders: { top: noBorder, bottom: noBorder, left: noBorder, right: noBorder }, children: [ new Paragraph({ spacing: sp(100, 0), children: [txt(title, { size: 22, bold: true })] }), new Paragraph({ spacing: sp(0, 60), children: [ txt(company, { bold: true, color: BLUE }), txt(" | " + location, { color: MID, italics: true }) ] }), ...bullets_arr.map(b => bullet(b)) ] }); const dateCell = new TableCell({ width: { size: 26, type: WidthType.PERCENTAGE }, borders: { top: noBorder, bottom: noBorder, left: noBorder, right: noBorder }, verticalAlign: VerticalAlign.TOP, children: [new Paragraph({ alignment: AlignmentType.RIGHT, spacing: sp(100, 0), children: [txt(dates, { color: MID, italics: true })] })] }); return [ new Table({ width: { size: 100, type: WidthType.PERCENTAGE }, borders: noAllBorders, rows: [new TableRow({ children: [contentCell, dateCell] })] }), gap(90) ]; } // Education entry function eduEntry(degree, school, location, dates, detail) { const children = [ new Paragraph({ spacing: sp(100,0), children: [txt(degree, { size: 22, bold: true })] }), new Paragraph({ spacing: sp(0, detail ? 0 : 60), children: [ txt(school, { bold: true, color: BLUE }), txt(" | " + location, { color: MID, italics: true }) ]}) ]; if (detail) children.push(new Paragraph({ spacing: sp(0,60), children: [txt(detail, { color: MID, size: 19 })] })); return [ new Table({ width: { size: 100, type: WidthType.PERCENTAGE }, borders: noAllBorders, rows: [new TableRow({ children: [ new TableCell({ width: { size: 74, type: WidthType.PERCENTAGE }, borders: { top: noBorder, bottom: noBorder, left: noBorder, right: noBorder }, children }), new TableCell({ width: { size: 26, type: WidthType.PERCENTAGE }, borders: { top: noBorder, bottom: noBorder, left: noBorder, right: noBorder }, verticalAlign: VerticalAlign.TOP, children: [new Paragraph({ alignment: AlignmentType.RIGHT, spacing: sp(100,0), children: [txt(dates, { color: MID, italics: true })] })] }) ]})] }), gap(80) ]; } // Skills row function skillRow(category, skills) { return new Table({ width: { size: 100, type: WidthType.PERCENTAGE }, borders: noAllBorders, rows: [new TableRow({ children: [ new TableCell({ width: { size: 28, type: WidthType.PERCENTAGE }, borders: { top: noBorder, bottom: noBorder, left: noBorder, right: noBorder }, shading: { type: ShadingType.SOLID, color: LTGRAY, fill: LTGRAY }, margins: { top: 80, bottom: 80, left: 160, right: 100 }, children: [new Paragraph({ children: [txt(category, { bold: true })] })] }), new TableCell({ width: { size: 72, type: WidthType.PERCENTAGE }, borders: { top: noBorder, bottom: noBorder, left: noBorder, right: noBorder }, margins: { top: 80, bottom: 80, left: 180, right: 100 }, children: [new Paragraph({ children: [txt(skills, { color: MID })] })] }) ]})] }); } // ── Header banner ──────────────────────────────────────────────── const header = new Table({ width: { size: 100, type: WidthType.PERCENTAGE }, borders: noAllBorders, rows: [new TableRow({ children: [ new TableCell({ width: { size: 100, type: WidthType.PERCENTAGE }, borders: { top: noBorder, bottom: noBorder, left: noBorder, right: noBorder }, shading: { type: ShadingType.SOLID, color: NAVY, fill: NAVY }, margins: { top: 320, bottom: 320, left: 460, right: 460 }, children: [ new Paragraph({ alignment: AlignmentType.CENTER, spacing: sp(0,80), children: [txt("JOHN A. SMITH", { size: 56, bold: true, color: WHITE, characterSpacing: 80 })] }), new Paragraph({ alignment: AlignmentType.CENTER, spacing: sp(0,80), children: [txt("Senior Software Engineer · Full-Stack · Cloud Architecture", { size: 22, color: "A8C4E0" })] }), new Paragraph({ alignment: AlignmentType.CENTER, spacing: sp(60,0), children: [ txt("San Francisco, CA", { size: 19, color: "C9D9EE" }), txt(" | ", { size: 19, color: "6A8EAF" }), txt("+1 (415) 555-0192", { size: 19, color: "C9D9EE" }), txt(" | ", { size: 19, color: "6A8EAF" }), txt("john.smith@email.com", { size: 19, color: "C9D9EE" }), txt(" | ", { size: 19, color: "6A8EAF" }), txt("linkedin.com/in/johnsmith", { size: 19, color: "C9D9EE" }), txt(" | ", { size: 19, color: "6A8EAF" }), txt("github.com/johnsmith", { size: 19, color: "C9D9EE" }) ] }) ] }) ]})] }); // ── Summary ────────────────────────────────────────────────────── const summary = [ gap(130), sectionBar("Professional Summary"), gap(70), new Paragraph({ alignment: AlignmentType.JUSTIFIED, spacing: sp(0,0), children: [txt("Results-driven Senior Software Engineer with 8+ years of experience building scalable web applications and cloud-native platforms. Skilled at leading cross-functional teams, architecting microservices, and delivering agile development cycles from concept to production. Proven track record of reducing system latency by 40% and tripling deployment frequency. Passionate about clean code, engineering culture, and building products at scale.", { size: 20, color: MID })] }), gap(110) ]; // ── Experience ─────────────────────────────────────────────────── const experience = [ sectionBar("Work Experience"), gap(60), ...jobEntry("Senior Software Engineer", "TechCorp Inc.", "San Francisco, CA", "Jan 2021 – Present", [ "Architected microservices platform serving 2M+ daily active users, cutting P95 latency by 42%.", "Led a team of 6 engineers through 3 major product releases — on schedule and within budget.", "Designed CI/CD pipelines (GitHub Actions + Kubernetes) reducing deploy time from 45 min to 8 min.", "Mentored 4 junior engineers; 2 subsequently promoted to mid-level roles within 18 months." ]), ...jobEntry("Software Engineer II", "DataStream Solutions", "Austin, TX", "Jun 2018 – Dec 2020", [ "Built real-time ingestion pipeline processing 500K events/sec using Apache Kafka and Go.", "Decomposed legacy monolith into 12 independently deployable services, improving release cadence 3×.", "Shipped 5 major product features in collaboration with product and design, driving +28% user retention.", "Authored internal engineering standards adopted across 3 development teams." ]), ...jobEntry("Junior Software Engineer", "StartApp Labs", "New York, NY", "Jul 2016 – May 2018", [ "Built React front-end and Node.js REST APIs for a SaaS product with 50K+ subscribers.", "Integrated Stripe payment gateway, enabling $1.2M in annual recurring revenue.", "Reduced page load time by 35% through code-splitting, lazy loading, and CDN optimisation." ]) ]; // ── Education ──────────────────────────────────────────────────── const education = [ sectionBar("Education"), gap(60), ...eduEntry( "B.S. Computer Science", "University of California, Berkeley", "Berkeley, CA", "2012 – 2016", "GPA: 3.8 / 4.0 · Dean's List · Coursework: Algorithms, Distributed Systems, ML Fundamentals" ) ]; // ── Skills ─────────────────────────────────────────────────────── const skills = [ sectionBar("Technical Skills"), gap(60), skillRow("Languages", "JavaScript / TypeScript, Python, Go, Java, SQL"), gap(28), skillRow("Front-End", "React, Next.js, Vue.js, Tailwind CSS, GraphQL"), gap(28), skillRow("Back-End", "Node.js, Express, Django, FastAPI, gRPC, REST"), gap(28), skillRow("Cloud / DevOps", "AWS (EC2, S3, Lambda, RDS), GCP, Docker, Kubernetes, Terraform"), gap(28), skillRow("Databases", "PostgreSQL, MongoDB, Redis, Elasticsearch, Snowflake"), gap(28), skillRow("Tools", "Git, JIRA, Figma, DataDog, Sentry, CircleCI, Confluence"), gap(110) ]; // ── Certifications ─────────────────────────────────────────────── const certs = [ sectionBar("Certifications & Awards"), gap(60), bullet("AWS Certified Solutions Architect – Professional (2023)"), bullet("Google Cloud Professional Data Engineer (2022)"), bullet("Certified Kubernetes Administrator (CKA) (2021)"), bullet("TechCorp Engineering Excellence Award (2022, 2023)"), gap(110) ]; // ── Projects ───────────────────────────────────────────────────── const projects = [ sectionBar("Notable Projects"), gap(60), new Paragraph({ spacing: sp(80, 0), children: [txt("OpenMetrics Dashboard", { size: 21, bold: true, color: BLUE })] }), new Paragraph({ spacing: sp(0, 50), children: [txt("Open-source observability dashboard with 2.3K GitHub stars. Built with React, Go, and InfluxDB; supports 15+ data-source integrations.", { size: 19, color: MID })] }), new Paragraph({ spacing: sp(80, 0), children: [txt("AI Code Review Bot", { size: 21, bold: true, color: BLUE })] }), new Paragraph({ spacing: sp(0, 50), children: [txt("GitHub Action leveraging GPT-4 to flag security issues and style violations in PRs. Adopted at 30+ organisations.", { size: 19, color: MID })] }), gap(80) ]; // ── Assemble ───────────────────────────────────────────────────── const doc = new Document({ numbering, styles: { default: { document: { run: { font: "Calibri", size: 20, color: DARK } } } }, sections: [{ properties: { page: { margin: { top: 720, bottom: 720, left: 900, right: 900 } } }, children: [ header, ...summary, ...experience, ...education, ...skills, ...certs, ...projects ] }] }); Packer.toBuffer(doc).then(buf => { fs.writeFileSync("/home/daytona/workspace/resume/Professional_Resume_Template.docx", buf); console.log("Done: Professional_Resume_Template.docx"); }).catch(e => { console.error(e); process.exit(1); }); ENDSCRIPT echo "Script written"
cd /home/daytona/workspace/resume && node build_resume_v2.js 2>&1
ls -lh /home/daytona/workspace/resume/Professional_Resume_Template.docx
python /home/daytona/skills/docx/scripts/office/validate.py /home/daytona/workspace/resume/Professional_Resume_Template.docx 2>&1
cd /tmp && rm -rf resume_check && mkdir resume_check && unzip -q /home/daytona/workspace/resume/Professional_Resume_Template.docx -d resume_check && echo "Files:" && ls resume_check/ && echo "---" && ls resume_check/word/
Professional Resume Template
Word Document · DOCX
| Section | Details |
|---|---|
| Header Banner | Deep-navy background with name (large), tagline, and contact info in one clean block |
| Professional Summary | Justified paragraph — replace with your own pitch |
| Work Experience | 3 sample roles with 2-column layout (company/bullets left, dates right) |
| Education | Degree, institution, GPA/awards row |
| Technical Skills | Alternating shaded rows: category label |
| Certifications & Awards | Bulleted list |
| Notable Projects | Project name + one-line description |
#2E74B5) and navy (#1F3864) can be changed via Word's "Design → Colors"