I built a 'CI/CD Pipeline' for my Resume (Next.js 15 + Puppeteer)
Source: Dev.to

The Problem: Version Control Hell
I am a 21‑year‑old AI Engineer. Last month, I realized I was spending more time formatting padding in Microsoft Word than actually coding.
I had 5 versions of my resume:
resume_frontend_final.pdfresume_backend_v2.docxresume_startup_focus.pdfresume_REAL_final_v3.pdf
Every time I applied to a job, I had to manually delete bullet points to fit the “One Page Rule.” If I applied for a React role, I deleted the Python bullets. If I applied for a Backend role, I deleted the Figma bullets.
It was Version Control Hell.
The Realization: Resume as Code
I realized that a resume is not a document. A resume is a Database View.
- The Database: My entire career history (every project, skill, cert).
- The Query: The Job Description I am applying to.
- The View: The rendered PDF.
So, being a lazy engineer, I built a system to automate this. I call it Resumefy.pro.
The Architecture
I didn’t want a “template chooser” like Canva. I wanted a Compiler.
1. The Stack
- Frontend: Next.js 15 (App Router)
- Database: Postgres (via Prisma)
- PDF Engine: Puppeteer (Headless Chrome)
- Orchestration: Vercel Serverless Functions
2. The “Page Break” Nightmare (The P0 Error)
The hardest part wasn’t the AI matching. It was the PDF Rendering.
Libraries like jspdf are terrible at handling complex CSS Grid layouts; they slice text in half across pages.
I wrote a custom algorithm using Puppeteer to calculate the DOM height of every section before rendering. If a project description pushes the height over 1123px (A4 height – margins), the system forces a clean break or moves the whole component to the next page. It’s a “Look‑Ahead” renderer.
The Result: The “War Machine”
Now, I don’t write resumes manually.
- I maintain one Master Profile.
- I paste a Job Description.
- The system “compiles” a tailored PDF in ~30 seconds.
Why I Built This (The Manifesto)
I solved the “Application Black Hole” problem. The issue isn’t that we aren’t qualified; it’s that we don’t have time to tailor our resumes perfectly for dozens of ATS bots.
This tool levels the playing field, turning the job search into an engineering problem—solved with code.
Try it / Roast my Code
It is free to use (generous free tier for developers).
Live Site:
I’m looking for feedback on:
- PDF rendering speed.
- Mobile UI (I spent all night fixing the Z‑index issues).
Let me know what you think!