I built a "CI/CD Pipeline" for my Resume because I hate Microsoft Word (Next.js 15 + Puppeteer)
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 had to write 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.
- 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 problem isn't that we aren't qualified. It's that we don't have the time to tailor our resumes perfectly for 50 different ATS bots.
This tool levels the playing field. It turns the job search into an engineering problem, and I solved it with code.
Try it / Roast my Code
It is free to use (I have a generous free tier for developers).
Live Site: https://resumefy.pro
I'm looking for feedback on:
- The PDF rendering speed.
- The Mobile UI (I spent all night fixing the Z-index issues).
Let me know what you think!
Top comments (0)