Resumify

June 13, 2026

Completed

Resumify is a free, full-stack resume maker built for students and early-career professionals. Build a polished resume with live preview, tailor it to any job description, check ATS compatibility, and export - all without paying for a subscription.

image
image
image
image
NextJs

nextjs

PostgreSQL icon

postgres

TailwindCSS

tailwind

TS

typescript

drizzle

shadcn/ui

Resumify

Resumify is a free, full-stack resume maker built for students and early-career professionals. Build a polished resume with live preview, tailor it to any job description, check ATS compatibility, and export — all without paying for a subscription.

Live: https://resume.kishore-sv.me

What It Does

Resumify helps you go from a blank page to a job-ready resume in one place. You fill in your experience, education, skills, and projects in a structured form while a live preview updates beside you. When you're done, export as PDF or DOCX - or sign in with Google to save your work, track versions, and use the full dashboard.

The app works in two modes:

  • Guest - Use the builder, ATS scanner, and JD matcher without an account. Your draft is stored in the browser until you sign in.
  • Authenticated - Resumes are saved to the cloud with auto-save, version history, and a personal dashboard.

Features

Resume Builder

A split-pane editor with form on the left and live preview on the right. Sections include personal info, work experience, education, skills, projects, certifications, languages, and custom sections. Template switching and full-screen preview are built in.

Five Templates

TemplateBest for
ClassicFinance, consulting, traditional roles
ModernClean layout with a blue sidebar
MinimalTypography-focused, lots of whitespace
TechCompact layout with skill chips for engineers
ExecutiveSpacious layout for senior positions

Each template has a Tailwind preview component and a matching @react-pdf/renderer export so what you see is what you download.

JD Tailoring

Paste a job description and get suggestions to improve your resume match - updated summary lines, skills to add, and keyword gaps to fill.

ATS Scanner

Submit resume text and receive a score with a pass/fail checklist covering formatting, keywords, section structure, and common ATS pitfalls.

JD Matcher

Compare your resume against a specific job description. See match score, matched keywords, missing keywords, and actionable recommendations.

Export

One-click PDF or DOCX download. PDF generation runs server-side via @react-pdf/renderer (no headless browser). DOCX is generated with the docx library.

Dashboard (signed-in users)

  • Overview with stats and recent activity
  • Resume library with sort, filter, edit, preview, and delete (with confirmation)
  • Version history with restore
  • Profile with appearance settings (dark mode) and account deletion
  • Dedicated ATS scanner and JD matcher pages

Dark Mode

Light and dark themes across the app shell. Guests toggle from the footer; signed-in users manage it from Profile.

How Users Move Through the App

Homepage → Builder (guest) → Sign in → Dashboard
                ↓
         Export PDF / DOCX
                ↓
         ATS Scanner / JD Matcher (public or dashboard)

Guest users who sign in from the builder can migrate their local draft into a saved resume automatically.

Architecture

Resumify is a Next.js 16 App Router application with a clear split between public pages, authenticated dashboard routes, and API handlers.

AreaPurpose
app/(public)/Builder, tools, legal pages — no login required
app/(auth)/Google sign-in
app/dashboard/Protected pages — resumes, history, profile, tools
app/api/REST endpoints for resumes, export, tools, auth, account

Data model: Users own resumes stored as JSONB (resumeData). Each save creates a version record. ATS scans and JD matches are stored per user when signed in.

Auth: Better Auth with Google OAuth only. Middleware protects /dashboard/* routes.

File storage: Exported PDFs are uploaded to ImageKit on save; old files are deleted on update or account removal.

Single source of truth: One Zod schema (ResumeData) drives form state, live preview, API validation, database storage, and PDF/DOCX export — the shape never diverges across layers.

Tech Stack

Next.js 16 · TypeScript · Tailwind CSS 4 · shadcn/ui · Drizzle ORM · Neon PostgreSQL · Better Auth · @react-pdf/renderer · ImageKit · Zod · react-hook-form

Project Structure

app/
  (auth)/          Login
  (public)/        Builder, ATS scanner, JD matcher, legal
  api/             Auth, resumes, export, tools, account
  dashboard/       Overview, resumes, history, profile, tools
components/
  builder/         Form, preview, template picker, JD import
  dashboard/       Resume cards, stats, activity, delete flows
  layout/          Navbar, footer, sidebar
  templates/       Five resume template components
  ui/              shadcn/ui primitives
lib/
  db/              Schema and Drizzle client
  pdf/             PDF template renderers
  validations/     Zod schemas
hooks/             Resume builder, export, debounce

Pages

RouteDescription
/Landing page
/builderPublic resume builder
/tools/ats-scannerPublic ATS scanner
/tools/jd-matcherPublic JD matcher
/loginGoogle sign-in
/dashboardUser overview
/dashboard/resumesResume library
/dashboard/resumes/newCreate resume
/dashboard/resumes/[id]Edit resume
/dashboard/resumes/[id]/previewFull preview
/dashboard/historyVersion history
/dashboard/profileProfile, theme, delete account
/privacy-policy · /cookie-policy · /terms-and-conditionsLegal