Skip to content

Repository files navigation

Screenshot 2026-05-06 001540


RESUMIND

AI-powered resume analysis. Zero backend. Zero friction.

🚀 Live Demo  ·  📸 Screenshots  ·  ⚙️ Getting Started


🧠 What is RESUMIND?

RESUMIND is a fully client-side AI resume analyzer — no backend server, no database setup, no API keys to manage. Drop your resume PDF against any job description and get back a structured ATS score, section-by-section feedback, and specific improvement tips — all powered by GPT-4o-mini via Puter.js.

Built with React 19, TypeScript, Tailwind CSS, and React Router — the entire stack (auth, file storage, AI, key-value database) runs through a single Puter.js integration with no custom backend whatsoever.


✨ Features

🔐 Auth System — Puter.js Native

Sign up or log in with a Puter account. Auth state is persisted automatically — the app redirects unauthenticated users to the login screen and remembers sessions across visits. Logout is handled via the /auth route.

📄 Resume Upload — Drag & Drop

Upload any PDF resume (up to 20 MB) via drag-and-drop or file picker. The file is sent to Puter's filesystem and passed directly to the AI — no intermediate server involved.

🤖 AI Analysis — GPT-4o-mini via Puter

The resume PDF alongside the company name, job title, and job description is analyzed by gpt-4o-mini through Puter.js's AI module. The AI returns a structured score breakdown across four dimensions:

Dimension What it checks
Tone & Style Professional language, active voice, consistency
Content Quantifiable achievements, relevant experience, project depth
Structure Section ordering, heading clarity, ATS-friendliness
Skills Keyword alignment with the target job description

📊 ATS Score + Badges

Each section gets a score out of 100 and a badge — Good, Good Start, or Needs Improvement — so you know at a glance where you stand with Applicant Tracking Systems.

🖼️ Resume Preview

The uploaded PDF is converted to an image and displayed inline next to the AI feedback — no download needed to cross-reference improvements.

🐳 Docker Support

A Dockerfile is included for containerized deployment anywhere beyond Vercel.


📸 Screenshots

Home — Application Tracker
🏠 Home — Application Tracker Dashboard
Some resumes examples with company, role, and ATS score at a glance
Upload Form
📤 Upload — Resume Submission Form
Company name · Job title · Job description · Drag & drop PDF
Analyzing State
⏳ Analyzing — AI Processing State
File uploads to Puter FS, PDF converts to image, AI analysis runs
Results Page
📊 Results — Resume Review Panel
Rendered resume on the left, ATS score + section scores on the right
Improvement Tips
🔧 Improvements — Accordion Detail View
Expandable sections with specific, actionable tips per score category
Auth Page
🔐 Auth — Login / Logout via Puter
One-click Puter auth — session persists across visits

🔄 How It Works


🏗️ Project Structure

AI-Resume-Analyzer/
├── app/
│   ├── components/
│   │   ├── Accordian.tsx      # Expandable improvement tip sections
│   │   ├── ATS.tsx            # ATS score card with status badge
│   │   ├── Details.tsx        # Per-section breakdown panel
│   │   ├── Fileuploader.tsx   # Drag & drop PDF upload component
│   │   ├── navbar.tsx         # Top navigation bar
│   │   ├── resumecard.tsx     # Dashboard card per submission
│   │   ├── ScoreBadge.tsx     # Good / Warning / Bad label badge
│   │   ├── Scorecircle.tsx    # Circular progress score indicator
│   │   ├── ScoreGauge.tsx     # Arc gauge for overall score display
│   │   └── Summary.tsx        # Score summary panel
│   │
│   ├── lib/
│   │   ├── puter.ts           # ✅ Central Puter.js config (auth · fs · kv · ai)
│   │   ├── pdftoimg.ts        # PDF → image conversion (PDF.js)
│   │   ├── utils.ts           # Shared helper functions
│   │   ├── UUid.ts            # Unique submission ID generator
│   │   └── accor.ts           # Accordion open/close state logic
│   │
│   ├── routes/
│   │   ├── auth.tsx           # /auth  — Puter login / logout screen
│   │   ├── home.tsx           # /home  — Application  dashboard
│   │   ├── upload.tsx         # /upload — Resume + JD submission form
│   │   └── resume.tsx         # /resume — AI feedback + resume preview
│   │
│   ├── routes.ts              # React Router route definitions
│   ├── root.tsx               # App root layout + providers
│   └── app.css                # Global styles
│
├── constants/
│   └── index.ts               # App-wide constants (AI prompt, config values)
│
├── types/
│   ├── index.d.ts             # Global TypeScript types
│   └── puter.d.ts             # Puter.js TypeScript declarations
│
├── public/
│   ├── images/                # Background SVGs + sample resume images
│   ├── icons/                 # ATS status SVG icons (good · warning · bad)
│   └── pdf.worker.min.mjs     # PDF.js web worker
│
├── Dockerfile
├── vite.config.ts
├── react-router.config.ts
└── tsconfig.json

⚙️ Puter.js — The Entire Backend

RESUMIND uses a single lib/puter.ts as the central config layer for all Puter.js features. There is no Express server, no Supabase, no Firebase — Puter replaces all of it.

Puter Module Used For
puter.auth User sign-up, login, logout, session persistence
puter.fs Resume PDF cloud upload and retrieval
puter.ai GPT-4o-mini inference for full resume analysis
puter.kv Saving and fetching past submissions per user

All Puter features are accessed via lib/puter.ts — import from there across the codebase rather than calling puter.* directly. This keeps the integration centralized, typed, and easy to swap out.


🚀 Getting Started

Prerequisites

Run Locally

# 1. Clone the repository
git clone https://github.com/YOURCODERAYAN/ai-resume-analyzer.git
cd ai-resume-analyzer

# 2. Install dependencies
npm install

# 3. Start the dev server
npm run dev

Open http://localhost:5173 — that's it. No .env file needed. No API keys. Puter.js handles everything in the browser.

Docker

docker build -t resumind .
docker run -p 3000:3000 resumind

📦 Tech Stack

Category Technology
Framework React 19
Language TypeScript
Styling Tailwind CSS
Routing React Router v7 (file-based)
AI Inference GPT-4o-mini via Puter.js
Auth Puter.js Auth
File Storage Puter.js FS
Database Puter.js KV Store
PDF Processing PDF.js (PDF → image conversion)
Build Tool Vite
Deployment Vercel + Docker

🗺️ Roadmap

  • Puter.js auth — sign up / login / logout
  • Drag & drop PDF upload (max 20 MB)
  • GPT-4o-mini AI resume analysis
  • ATS score + section badges (Tone · Content · Structure · Skills)
  • PDF to image resume preview
  • Data Saved via Puter KV
  • Vercel deployment + Docker support

🤝 Contributing

git checkout -b feature/your-feature
git add .
git commit -m "feat: describe your change"
git push origin feature/your-feature

📄 License

MIT — free to use, fork, and build on.


Built by Ayan  ·  Powered by Puter.js + GPT-4o-mini

Live Demo

If this helped you, a ⭐ goes a long way.

About

drop your resume, paste a job description, get AI feedback instantly. No backend, no API keys — fully client-side with Puter.js + GPT-4o-mini.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages