PerfectResume: AI-Native Resume Optimization

Building PerfectResume in 13 Days: A Crash Course in AI-Powered Product Development

I started building PerfectResume on August 4, 2026. I submitted on August 17, 2026. Thirteen days. In that time, I went from a raw idea to a live, revenue-generating product with real users landing real interviews. This wasn't just a coding sprint. It was a crash course in creating a product and running a business, accelerated entirely by AI. Every stage of the journey was augmented by artificial intelligence. The result? A fully functional, AI-native business built in under two weeks. This is what's possible when you leverage AI not just as a feature, but as your co-founder, your engineering team, and your strategist.


Inspiration

After a two-year career gap, I struggled to get interviews. The turning point came when I started tailoring every resume to the job description - responses improved dramatically. But doing this manually took hours per application.

Applicant Tracking Systems (ATS) were filtering out qualified candidates because their resumes didn't match the right keywords. Professional resume writing services cost hundreds of dollars, putting quality optimization out of reach for early-career professionals and career changers. I built PerfectResume to make professional-grade resume optimization accessible to everyone.


What it does

PerfectResume is an AI-native resume optimizer that turns a generic resume into a tailored, ATS-friendly document in under a minute. Upload your resume, paste a job description, and get a professionally formatted, one-page PDF optimized for that specific role.

Key features:

  • One-click optimization: The AI handles everything
  • ATS keyword matching: Automatically identifies and integrates missing keywords
  • ATS score: Clear evaluation of how well the resume matches the job
  • Professional PDF output: Clean, ATS-parsable LaTeX formatting
  • Affordable pricing: $1.49/month with a free first generation

How I built it

The core is Google's Gemini 2.5 Flash. Every submission triggers exactly one API call handling resume optimization, ATS keyword matching, and evaluation in a single JSON response. One model, one prompt per task—no RAG, no vector databases.

Technical Stack:

  • Frontend/Backend: OpenSaaS framework with Wasp, React, Node.js, PostgreSQL
  • AI: Gemini 2.5 Flash
  • Authentication: Google OAuth
  • Payments: Dodo Payments ($1.49/month)
  • PDF Generation: LaTeX with pdflatex
  • Deployment: Render (free tier) with a cron-job at UptimeRobot to consistently keep the server live
  • Analytics: Google Analytics

Key Engineering Decisions:

  • Asynchronous job queue prevents server timeouts
  • Backend caps entries and projects to ensure one-page resumes
  • LaTeX template separates project titles from technology lists for clean alignment
  • Temporary files deleted immediately—no permanent resume storage
  • Comprehensive logging and error handling for production reliability

I built this solo using Codex, Gemini, and Antigravity, following an iterative philosophy: launch an MVP, gather feedback, improve. Every feature was added based on real user feedback and production logs.


Challenges I ran into

1. LaTeX Template Not Found in Production The .tex file wasn't being copied to .wasp/out/server/. Fixed by treating the template as a runtime asset included in the build output.

2. Deploying LaTeX on Render apt-get failed on Render's free tier due to a read-only filesystem. Solved by using a self-contained LaTeX engine.

3. Gemini Timeout Issues Synchronous generation timed out. Migrated to an asynchronous Wasp job architecture with frontend polling.

4. One-Page Resume Constraint AI generated multi-page resumes. Fixed by engineering the Gemini prompt to enforce one-page limits, adding backend safeguards to cap entries, and fine-tuning the LaTeX template.

5. Layout Alignment Project technologies overflowed into date columns. Restructured the LaTeX template to use two header lines: one for the title and date, one for technologies in a smaller italic font.

6. Cross-Border Domain Acquisition Issues International domain registrars declined Indian credit cards during checkout. Resolved by sourcing the domain through GoDaddy India to bypass cross-border payment restrictions.

7. Bootstrapped User Acquisition Zero-budget marketing limited initial user traction. Solved by launching organic storytelling campaigns on Reddit and X, integrating direct user feedback loops, and optimizing frontend CTAs for the free trial.


Accomplishments I'm proud of

  • Bootstrapped with a lean approach: Spent absolutely nothing except on the domain name, proving you can build a real AI business with zero budget and smart engineering
  • Live in production: Generating real resumes for real users
  • End-to-end AI pipeline: From upload to PDF download in under 30 seconds
  • One-page constraint: Solved the challenge of forcing AI-generated resumes onto a single page
  • Professional output: LaTeX-generated PDFs that rival professional services
  • Solo engineering: Single founder built the entire product
  • Real user validation: Users landing interviews—one got their first interview the day after using the tool

What I learned

  • Start with the user's problem, not the technology: AI is a means to an end—helping people get jobs
  • Iterate based on feedback: Every feature was added because users asked for it
  • Constraints are creative: The one-page requirement forced better AI prompting and smarter LaTeX design
  • Asynchronous is essential: Long-running AI tasks need background jobs to maintain UX
  • LaTeX is powerful but picky: Getting the template to compile in production was harder than the AI integration

What's next for PerfectResume

Short-term:

  • Cover letters: Generate tailored cover letters alongside resumes
  • Interview preparation: Generate interview questions based on job descriptions
  • Bulk applications: Automated applications to multiple jobs with one seed resume optimized for each specific role

Long-term vision:

  • Full career management: From resumes to interview prep to job matching
  • Partnerships: Integrate with job boards and recruitment platforms

The goal remains the same: make professional-grade career tools accessible to everyone, and prove that AI can empower human potential rather than replace it.


"Once again I wanted to thank you... I've just got my first interview set for tomorrow and you were definitely the main role in it." — Crystalmaster97, Reddit User

"Making the ATS clearer, highlighting the free trial, explaining the score, and more obvious tailoring should make a real difference." Public Video Feedback Link: https://betabloom.app/v/arM5WAnmHAwXbOrxk_8hR-5mMe9qT7oB — BetaBloom, X/Twitter User

Try PerfectResume: https://perfectresume.site

Built With

Share this project:

Updates