explaingit

liumengxuan04/vibe-resume

19HTMLAudience · generalComplexity · 2/5ActiveLicenseSetup · easy

TLDR

Resume template where the page is HTML and CSS, edited by an AI assistant, then exported to a one-page PDF by a Chromium script.

Mindmap

mindmap
  root((vibe-resume))
    Inputs
      HTML resume
      CSS styles
      AI edit prompts
    Outputs
      Live preview page
      One-page PDF
    Use Cases
      Tailor resume per job
      Edit via AI chat
      Generate clean PDF
    Tech Stack
      HTML
      CSS
      Node.js
      Chromium
      Codex skill

Things people build with this

USE CASE 1

Keep a resume as an HTML page and edit it through an AI assistant instead of Word

USE CASE 2

Export the same on-screen layout to a single-page PDF for a job application

USE CASE 3

Spin up a custom resume variant per role by asking an AI to rewrite sections

USE CASE 4

Drop the included Codex skill into ~/.codex/skills so a chat session can edit the resume directly

Tech stack

HTMLCSSNode.jsChromium

Getting it running

Difficulty · easy Time to first run · 5min

Needs Node.js and Chromium for the PDF export; otherwise just npm install and npm run preview.

MIT lets you use, modify, and share the code freely as long as you keep the copyright notice.

In plain English

VibeResume is a resume template where the actual resume lives as a normal web page made of HTML and CSS files. The idea is that you do not edit the resume in Word or LaTeX, and you do not fight with the browser's print dialog. Instead, you tell an AI assistant what to change, the assistant edits index.html and styles.css for you, and a small script then exports the same web page to a one-page PDF. The README explains the motivation in three parts. Word and PDF files are hard for an AI to edit directly. Browsers often switch to a different print layout when you save as PDF, so the printed copy stops matching what you saw on screen. And juggling content, layout, and PDF export for several different job applications becomes messy. VibeResume tries to fix all three by treating the web page as the source of truth, the AI as the editor, and the PDF as a build product. Getting started is short. You run npm install to fetch dependencies, npm run preview to open the page locally at http://localhost:4173, and npm run export:pdf to produce a PDF, which by default lands at export/vibe-resume-demo.pdf. The export script opens index.html in Chromium, keeps the on-screen layout instead of the print layout, measures the height of the .page element, and writes a single-page PDF so the output looks like the page you previewed. The repository also ships an AI skill at skills/vibe-resume-editor/SKILL.md, written in the Codex skill format. Copying that folder into ~/.codex/skills lets you tell a Codex session to use the vibe-resume-editor skill and rewrite the resume for a specific role. If your AI tool does not support Codex skills, the README suggests pasting the SKILL.md contents into the chat as project context. The sample content is clearly marked as mock data. Names, schools, contact details, internship roles, and project descriptions are placeholders, and the avatar is AI-generated. Two related projects are mentioned for finding internship projects and turning materials into resume bullets, with VibeResume handling the final step of producing the polished page and PDF. The license is MIT.

Copy-paste prompts

Prompt 1
Set up vibe-resume locally, run npm install and npm run preview, and open it at localhost 4173
Prompt 2
Install the vibe-resume-editor skill into ~/.codex/skills and have Codex tailor my resume for a backend internship
Prompt 3
Modify index.html and styles.css in vibe-resume to add a Projects section with three bullet points
Prompt 4
Run npm run export:pdf in vibe-resume and check why the output PDF differs from the preview page
Prompt 5
Replace the mock data in vibe-resume with my real education, internships, and contact info while keeping the layout
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.