# 📄 ResumeFlow

AI-Powered Resume & Cover Letter Generator

ResumeFlow helps job seekers generate tailored resumes and cover letters instantly with the power of AI.
Simply upload your resume, paste the job description, and download a professionally formatted PDFβ€”ready to send.


# Features

  • 🎯 AI-Powered Resume Tailoring – Match your resume to job descriptions.
  • 📝 Cover Letter Generation – Personalized, ATS-friendly cover letters.
  • 📑 Professional PDF Export – Clean, modern layouts using reportlab.
  • ☁️ Supabase Integration – Store generated documents securely in Supabase.
  • 🎨 Modern Frontend – React + Tailwind + Framer Motion for a sleek UI.
  • 📱 Responsive Design – Works seamlessly across devices.
  • 🚀 Free Deployment Ready – Host easily on Render, Fly.io, Cloudflare or Vercel.

# 📂 Project Structure

Resume-Flow-AI-Resume-Generator-main/
β”‚
β”œβ”€β”€ CODE_OF_CONDUCT.md
β”œβ”€β”€ README.md
β”œβ”€β”€ CONTRIBUTING.md
β”œβ”€β”€ LICENSE
β”œβ”€β”€ NOTICE.md
β”œβ”€β”€ SECURITY.md
β”œβ”€β”€ backend
β”‚   β”œβ”€β”€ .gitignore
β”‚   β”œβ”€β”€ app
β”‚   β”‚   β”œβ”€β”€ config.py
β”‚   β”‚   β”œβ”€β”€ exporters
β”‚   β”‚   β”‚   └── pdf_exporter.py
β”‚   β”‚   β”œβ”€β”€ llm.py
β”‚   β”‚   β”œβ”€β”€ main.py
β”‚   β”‚   β”œβ”€β”€ schemas.py
β”‚   β”‚   β”œβ”€β”€ services
β”‚   β”‚   β”‚   └── generator.py
β”‚   β”‚   └── utils.py
β”‚   β”œβ”€β”€ .env
β”‚   β”œβ”€β”€ requirements.txt
β”‚   └── run.sh
└── frontend
    β”œβ”€β”€ .gitignore
    β”œβ”€β”€ components.json
    β”œβ”€β”€ eslint.config.js
    β”œβ”€β”€ index.html
    β”œβ”€β”€ package-lock.json
    β”œβ”€β”€ package.json
    β”œβ”€β”€ .env
    β”œβ”€β”€ postcss.config.js
    β”œβ”€β”€ public
    β”‚   β”œβ”€β”€ favicon.ico
    β”‚   β”œβ”€β”€ placeholder.svg
    β”‚   └── robots.txt
    β”œβ”€β”€ src
    β”‚   β”œβ”€β”€ App.tsx
    β”‚   β”œβ”€β”€ assets
    β”‚   β”‚   └── hero-image.jpg
    β”‚   β”œβ”€β”€ components
    β”‚   β”‚   β”œβ”€β”€ GenerateButton.tsx
    β”‚   β”‚   β”œβ”€β”€ JobDescriptionInput.tsx
    β”‚   β”‚   β”œβ”€β”€ PdfUpload.tsx
    β”‚   β”‚   β”œβ”€β”€ ResultsPreview.tsx
    β”‚   β”‚   β”œβ”€β”€ ResumeGenerator.tsx
    β”‚   β”‚   β”œβ”€β”€ UserInfoInput.tsx
    β”‚   β”‚   └── ui
    β”‚   β”‚               
    β”‚   β”œβ”€β”€ hooks
    β”‚   β”‚   β”œβ”€β”€ use-mobile.tsx
    β”‚   β”‚   └── use-toast.ts
    β”‚   β”œβ”€β”€ index.css
    β”‚   β”œβ”€β”€ lib
    β”‚   β”‚   └── utils.ts
    β”‚   β”œβ”€β”€ main.tsx
    β”‚   β”œβ”€β”€ pages
    β”‚   β”‚   β”œβ”€β”€ Index.tsx
    β”‚   β”‚   └── NotFound.tsx
    β”‚   β”œβ”€β”€ pdfjs-worker.d.ts
    β”‚   β”œβ”€β”€ useWarmupBackend.ts
    β”‚   └── vite-env.d.ts
    β”œβ”€β”€ tailwind.config.ts
    β”œβ”€β”€ tsconfig.app.json
    β”œβ”€β”€ tsconfig.json
    β”œβ”€β”€ tsconfig.node.json
    └── vite.config.ts

# ⚙️ Backend Setup (FastAPI)

# 1️⃣ Create & activate virtual environment

cd backend
python -m venv venv
source venv/bin/activate   # Linux/Mac
venv\Scripts\activate      # Windows

# 2️⃣ Install dependencies

pip install -r requirements.txt

# 3️⃣ Configure environment variables (.env)

Before running, you must:

  • Create a Supabase project.
  • Inside Supabase Storage, create a bucket named resumes.

Then configure your .env file:

GEMINI_API_KEY=your_gemini_api_key
MODEL_NAME=gemini-2.0-flash
DEBUG=false

SUPABASE_URL=your_supabase_project_url
SUPABASE_KEY=your_supabase_service_key
SUPABASE_BUCKET=resumes

# 4️⃣ Start backend

uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

# 🎨 Frontend Setup (React + Vite)

# 1️⃣ Install dependencies

cd frontend
npm install

# 2️⃣ Configure environment variables (.env)

VITE_BACKEND_URL=http://localhost:8000

# 3️⃣ Start frontend

npm run dev

📍 App available at: http://localhost:5173


# ☁️ Deployment Options

Recommended free hosting platforms:

  • Render – backend hosting
  • Cloudfalre / Vercel / Netlify – Frontend hosting
  • Supabase – File storage (make sure the resumes bucket exists)

# 📧 Contact

Built with ❤️ by vxRachit


# Contributing

Contributions, issues, and feature requests are welcome!

If you like this project:

  • Star the repo to support it.
  • 🍴 Fork it to build your own version.
  • 🛠️ Contribute by submitting PRs.

📄 Please read the Contributing Guidelines before making a contribution.


# 📌 License

This project is licensed under the Resume Flow Custom License.