Inspiration

I wanted something practical that helps people land interviews faster. Most resumes get filtered by ATS before a human ever sees them, so I built a tool that instantly shows what’s missing and helps you rewrite your resume to match the role—without guessing.

What it does

Resume Matcher lets you paste a resume and a job description, then:

Calculates an ATS-style match score

Extracts key keywords/phrases from the job post

Shows what’s missing + suggestions to improve alignment

Generates an AI-optimized resume (based on your original content)

Exports the final resume as a clean PDF

How we built it

Backend: Node.js + Express (analysis + AI rewrite API + PDF export)

Analysis engine: keyword + phrase extraction, match scoring, missing-term detection

AI: OpenAI API to rewrite the resume using the analysis results + user style options (tone, seniority, bullet length)

PDF: Server-side PDF generation from the final text

Frontend: Responsive UI with dark/light mode, mobile-first layout

Deploy: Systemd service for uptime + public routing via Cloudflare + Tailscale Funnel under /app1

Challenges we ran into

Fixing edge-case bugs in keyword matching and missing-term logic

Handling environment variables correctly (.env vs server runtime)

Making the app work cleanly under a subpath (/app1) without breaking assets or API calls

Getting public routing working without disrupting the existing server setup

Accomplishments that we're proud of

A fully working end-to-end product (not a demo): analyze → generate → download PDF

Clean, mobile-friendly UI with dark/light mode

Safe deployment with systemd and proper secret handling

Public release under my own domain while keeping the rest of the server stable

What we learned

How to productionize a Node app: services, env management, and reliable restarts

How routing/proxying really works (subpaths, reverse proxies, Cloudflare routes)

How to structure AI prompts so the output stays truthful and ATS-friendly

How small UX choices (layout, readability, mobile support) make the product feel real

What's next for Resume Matcher (Mohammad Jowkari)

Add PDF templates (modern, classic, executive) with better formatting

Add “Before vs After” diff view + editable section-based resume builder

User accounts + saved versions + history of applications

Rate limiting and usage tracking (credits system)

Multi-language support (English/Farsi) and more role-specific resume styles

Share this project:

Updates