ResumeX
A résumé builder where the preview is the real PDF, with an honest ATS check and a whole job search built around it.

The problem
Most résumé builders render HTML and hope the print dialog behaves, most “ATS scores” are guesses, and students send one CV to twenty different jobs. ResumeX renders the actual PDF as you type, reads it back the way real parsers do, and gives every application its own tailored résumé.
What I built
- A live PDF engine: @react-pdf/renderer in a Web Worker, painted with pdf.js, so the preview is exactly what you download
- 52 templates in 7 categories, most generated by a spec-driven template engine (layouts, headers, palettes and fonts described as data)
- A deterministic ATS checker: 30+ explainable checks and weighted keyword matching against a job description, all in the browser
- A job-search workspace: a Career Profile, an application board that reads deadlines out of pasted job circulars, and per-job tailoring with no AI
- A Gemini assistant grounded in the app's own writing guide, for rewrites, cover letters and PDF/DOCX import; every AI change is shown for review
- Plans, credits and Paddle billing with an admin console, plus TOTP 2FA, rate limits on every route and 190+ server tests
Outcome
- Live at resumex.cc
- Opening as an invite-only beta for about 80 university students
- Started as my CSE299 project; grown into a full product
See it in action

Type, and the real PDF updates 
Will an ATS read your CV? 
Paste a job circular, get it on the board 
A résumé for each job 
Interview prep from your own experience
Screens

The builder: edit on the left, the real PDF updating on the right 
The ATS check: a score, missing and matched keywords, and every check explained 
The application board, from saved to offer, with deadlines 
Tailoring a résumé for one job from the Career Profile, with keyword coverage
Stack
- Next.js
- React
- Ant Design
- Tailwind
- Express
- MongoDB
- Gemini
- react-pdf
- pdf.js
- Paddle
- Cloud Run