Multi-step guided resume form with real-time preview updates while filling in
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.
Actual screenshot captured by the server browser.
All pages & views 2
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Includes more than 10 responsive resume templates, with dark and light theme support
Calls the OpenAI API to perform ATS scoring on resumes and provide improvement suggestions
Exports high-fidelity PDFs through a Base64 image prefetch process to avoid CORS issues
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.
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
After cloning the repository, create a virtual environment and run pip install -r requirements.txt
- 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
Import the database schema using mysql -u root -p < schema.sql
- 4
Run python app.py or start_project.bat on Windows, then visit http://127.0.0.1:5000
- 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
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis 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
Permission is hereby granted, free of charge
Original License Text
OPENAI_API_KEY=your_key
Original README
RESEND_API_KEY=your_key
Original README
https://github.com/karthikvharihar-stack/resume-builder/blob/main/LICENSEhttps://github.com/karthikvharihar-stack/resume-builder/blob/main/README.mdDB_PASSWORD=your_mysql_password
Original README
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)
Explore similar templates
Compare previews and descriptions within the same stack and category.

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
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 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
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
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
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
