FlaskPortfolioSaaS

resume-builder — Flask Portfolio Template

By karthikvharihar-stack

A Flask-based full-stack resume builder offering a step-by-step form, multiple templates, AI ATS scoring, and PDF export, with JWT authentication and MySQL storage.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

2 previews
Desktop homepage1 / 2
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 2

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-01View source

What stands out

A quick read of the recorded project description.

01

Multi-step guided resume form with real-time preview updates while filling in

02

Includes more than 10 responsive resume templates, with dark and light theme support

03

Calls the OpenAI API to perform ATS scoring on resumes and provide improvement suggestions

04

Exports high-fidelity PDFs through a Base64 image prefetch process to avoid CORS issues

05

Registration OTP email verification, JWT session tokens, and MySQL persistence

Template Details

ResumePro is a full-stack resume building project with Flask as the backend. Users fill in personal information, education, work experience, and projects through a multi-step guided form, and the page updates the preview in real time. The project includes more than 10 resume templates and supports switching between dark and light themes.

At the feature level, it provides ATS scoring based on the OpenAI API, giving improvement suggestions for each resume section; PDF export uses a Base64 image prefetch process to avoid CORS issues and maintain visual consistency in the downloaded file. The account system includes OTP email verification during registration, JWT session tokens, and MySQL data persistence, with email sending relying on the Resend API.

Before use, you need to prepare your own MySQL database, JWT secret, OpenAI API key, and Resend API key, and import the schema.sql from the repository. The frontend uses native JavaScript, HTML5, and CSS3, with no frontend framework dependency. The project is released under the MIT license, but third-party assets such as demo images, fonts, and icons, as well as external services such as databases, email, and AI, require separate verification of licensing and fees.

FlaskPortfolioSaaS

Is it right for your project?

Use Cases

  • Build a personal resume creation and online export tool
  • Use as a Flask full-stack project to learn JWT authentication and MySQL integration
  • Check content with ATS scoring and get revision suggestions before submitting a resume
  • Extend custom resume layouts based on the existing template system

Suitable For

  • Developers familiar with Python and Flask who can configure MySQL themselves
  • Teams or individuals who need a self-hostable resume building tool
  • Frontend and backend learners who want to study OTP email verification and JWT session implementation

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    After cloning the repository, create a virtual environment and run pip install -r requirements.txt

  2. 2

    Create a .env in the project root and configure DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, JWT_SECRET, OPENAI_API_KEY, and RESEND_API_KEY

  3. 3

    Import the database schema using mysql -u root -p < schema.sql

  4. 4

    Run python app.py or start_project.bat on Windows, then visit http://127.0.0.1:5000

  5. 5

    AI scoring and email verification depend on external services; you need to apply for the corresponding API keys and pay attention to their billing and licensing

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version in the public repository under the MIT license; the free scope is the code of that version and does not mean external services or third-party assets are free.

Must comply with when using

  • The code of this version may be used, modified, used commercially, and distributed for free.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • The AI ATS scoring feature depends on the OpenAI API; you need to apply for an API key yourself, and external service fees may apply.
  • Registration OTP email verification depends on the Resend API; you need to apply for an API key yourself, and external service fees may apply.
  • You need to prepare and run a MySQL database yourself and configure connection credentials before use.
  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis

Compiled by DeepSeek based on repository license and README ·2026-10-01. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
More documented · 85 / 100
Technologies
Flask
Website type
Portfolio · SaaS
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2026-09-29
Screenshot last checked
2026-10-01

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Flask as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: 911530b643737ae487784b09fadcc375d61474d16891294c0605ea02fb08a0f2

2026-10-01T02:43:44.551Z

Source file / repository
# ResumePro

A full-stack resume builder with AI-powered ATS scoring, 10+ resume templates, high-fidelity PDF export, and JWT authentication.

## Features

- **Multi-Step Builder**: Guided form covering personal details, education, experience, skills, and projects with real-time preview updates.
- **10+ Resume Templates**: Clean, responsive resume layouts with dark/light mode theming.
- **AI ATS Scoring**: Evaluates resume sections against ATS standards and provides targeted improvement recommendations.
- **PDF Export**: Custom Base64 image pre-fetching pipeline to eliminate CORS issues and preserve visual fidelity in downloaded PDFs.
- **Auth & Database**: OTP email verification on signup, JWT session tokens, and MySQL persistence.

## Tech Stack

- **Backend**: Python, Flask, Flask-CORS, PyJWT, MySQL
- **Frontend**: Vanilla JavaScript (ES6+), HTML5, CSS3, html2canvas
- **AI**: OpenAI API
- **Email**: Resend API

## Getting Started

### 1. Clone & Set Up
```bash
git clone https://github.com/karthikvharihar-stack/resume-builder.git
cd resume-builder

python -m venv venv
# Windows:
.\venv\Scripts\activate
# Linux/macOS:
source venv/bin/activate

pip install -r requirements.txt
```

### 2. Configuration
Create a `.env` file in the project root:
```env
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_mysql_password
DB_NAME=resume_builder
JWT_SECRET=your_jwt_secret
OPENAI_API_KEY=your_key
RESEND_API_KEY=your_key
```

### 3. Database & Run
Import the database schema:
```bash
mysql -u root -p < schema.sql
```

Run the backend:
```bash
python app.py
```
Or run `start_project.bat` on Windows.  
Once running, open `http://127.0.0.1:5000` in your browser.

## Author

Karthik V Harihar  
[GitHub Profile](https://github.com/karthikvharihar-stack)

## License

[MIT](LICENSE)
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.

frontpage

frontpage

Frontpage is a small portfolio app built with Flask and Bootstrap, described by its author as "a kinda-hackable portfolio app." Content is driven by JSON files in the content/ directory, with one file per project and no database required.

Flask · Portfolio

project-team-pythonic

project-team-pythonic

A Flask and Jinja team portfolio template from the MLH Fellowship, with a homepage and profile pages, member data in data.json, responsive Bootstrap styling, and Google Maps markers for visited places.

Flask · Portfolio

readykit

readykit

ReadyKit is an MIT-licensed Flask and Vue SaaS starter template with multi-tenant workspaces, Stripe or Chargebee subscription billing, Google and GitHub OAuth login, team roles, and Docker Compose deployment configuration.

Vue · SaaS

react-starter-kit

react-starter-kit

A full-stack SaaS monorepo starter built on Vite and React, with Bun, TypeScript, tRPC, Drizzle ORM, Better Auth, Stripe, and Cloudflare Workers. It includes email OTP, passkey, Google OAuth, organizations, subscription billing, Drizzle migrations, seed scripts, and Terraform infrastructure.

Vite · SaaS

al-folio

al-folio

A Jekyll academic homepage theme for scholars and researchers, with a clean responsive design and out-of-the-box support for publication lists, project showcases, CVs, and blogs.

Jekyll · Portfolio

Next.js SaaS Starter

Next.js SaaS Starter

The official Next.js SaaS starter template, integrating email/password authentication, Stripe Checkout subscriptions, a dashboard with user/team CRUD, basic Owner/Member RBAC, and activity logging.

Next.js · SaaS