DEV Community

Cover image for Building an AI-Powered Resume Analyzer: My Journey with Resume Analiser
Mahmud Rahman
Mahmud Rahman

Posted on

Building an AI-Powered Resume Analyzer: My Journey with Resume Analiser

Hey dev.to community! πŸ‘‹ I'm Mahmud Rahman Farhan, a full-stack JavaScript developer from Bangladesh. Over the past few months, I've been working on a project that's close to my heart (and super useful in today's job market): an AI-powered resume optimizer called Resume Analiser.

In a world where ATS (Applicant Tracking Systems) reject 75% of resumes before a human even sees them, tailoring your resume to each job description is crucial. That's why I built this tool – to help job seekers like you (and me!) personalize resumes quickly and effectively using AI.

Check out the GitHub repo here: https://github.com/mahmud-r-farhan/resume-analiser

And there's even a live demo: https://resumeanalizer.vercel.app/

What Does It Do?

Resume Analiser is your personal career copilot. Here's the flow:

  1. Upload your PDF resume (text-based only for now – scanned PDFs coming soon via OCR!).
  2. Paste the target job description.
  3. Hit analyze – powered by AI models from OpenRouter.

You get back:

  • A premium analysis dashboard with:
    • Executive summary
    • Strengths in your resume
    • Keyword gaps (super important for ATS!)
    • ATS-friendly guidance
  • A dynamic fit score visualized as a cool gauge showing how well your resume matches the job.
  • An optimized, regenerated resume in Markdown format, tailored to the job.
  • Support for different templates: Classic, Modern, or Functional – regenerate with one click!
  • Easy exports: Copy Markdown, download as PDF, or save the full analysis.

It's all about making your resume stand out while beating those pesky ATS filters.

Tech Stack

I went with a modern, full-stack JavaScript setup:

  • Frontend: React + Vite for fast development, Tailwind CSS for styling, Framer Motion for smooth animations, and Sonner for toast notifications.
  • Backend: Node.js + Express.js for the API.
  • Database: MongoDB (optional, mainly for logging analyses).
  • AI Integration: OpenRouter.ai – flexible access to various LLMs (you can pick free or paid models).
  • Deployment: Frontend on Vercel (hence the live demo).

Everything is open-source under the MIT license, so feel free to fork and tweak!

Why I Built This

Job hunting can be brutal. I've applied to countless roles and seen great candidates get ghosted because their resume didn't have the "right" keywords. Tools like this exist (some paid ones are pricey), but I wanted something accessible, customizable, and built with open AI providers.

Plus, it was a great excuse to dive deeper into:

  • PDF parsing on the backend.
  • Prompt engineering for accurate resume analysis and regeneration.
  • Building a resilient UI that handles API rate limits gracefully.

Key Features in Action

  • Rich Markdown Rendering: The analysis and new resume look beautiful with highlighted sections.
  • Template Switching: Not happy with the layout? Switch and regenerate instantly.
  • Resilient Experience: Loading spinners, error handling for rate limits, and helpful tips throughout.

Limitations? Free AI models might throttle on heavy use, and image-based PDFs aren't supported yet (roadmap item!).

How to Run It Locally

Want to try it yourself or contribute?

git clone https://github.com/mahmud-r-farhan/resume-analiser.git
cd resume-analiser

# Backend
cd backend
npm install
# Add your .env (see README for keys, especially OPENROUTER_API_KEY)

npm run dev

# Frontend (in another terminal)
cd ../frontend
npm install
# Add .env for API endpoint

npm run dev
Enter fullscreen mode Exit fullscreen mode

Open http://localhost:5173 and start optimizing!

Video tutorial[2]: https://youtu.be/6tqwrwDfaJY?si=dpa8KtZaRrZiucV7
Video tutorial[1]: https://youtu.be/bwddg9qh_vE?si=nqAqZJN-xHfQq6cE

What's Next?

  • Add OCR for scanned PDFs.
  • More templates and customization options.
  • User accounts for saving histories (using MongoDB more fully).
  • Maybe integrate more AI providers or fine-tuned prompts.

If you like the project, give it a star on GitHub ⭐ – it motivates me a ton (it's at 3 stars right now πŸ˜…).

I'd love feedback! Have you used similar tools? What features would you add? Drop a comment below.

Thanks for reading, and happy job hunting! πŸš€

Top comments (0)