An open-source, AI-powered resume builder that helps you create professional, ATS-friendly resumes in minutes.
Resume Craft is a modern web application designed to simplify the resume creation process. It provides users with professionally designed templates, a real-time WYSIWYG editor, and AI-powered content suggestions to help them craft the perfect resume and land their dream job.
The goal of this project is to offer a beautiful, intuitive, and powerful tool for job seekers, completely open-source.
- Modern Templates — Choose from a growing collection of professionally designed, ATS-friendly resume templates.
- AI-Powered Content Suggestions — Get intelligent recommendations to refine your summaries, work experience, and achievements.
- Real-Time Preview — Edit your resume and instantly see every change reflected in a live PDF preview.
- No Sign-Up Needed - Start creating your resume instantly—no account or email required. Your work is saved locally and always accessible.
- Smart PDF Import — Upload your existing resume PDF to automatically extract and prefill your details.
- Rich Text Editing — Format your content with bold, italics, lists, and more using an intuitive editor.
- Text Selection Sync — Click or select text in the preview to automatically scroll to and highlight the matching field in the editor.
- Themes & Layout Customization — Reorder sections, toggle visibility and personalize your resume’s appearance.
- Auto-Save — Your progress is saved automatically to both local storage and the server — no need to worry about losing work.
- High-Quality PDF Export — Download a perfectly formatted, print-ready version of your resume anytime.
- Light & Dark Mode — Switch between light and dark themes for a comfortable editing experience.
- Framework: Next.js (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: shadcn/ui & Radix UI
- State Management: Zustand
- Data Fetching: React Query
- Authentication: Clerk
- Database: MongoDB with Mongoose
- PDF Generation: @react-pdf/renderer
- AI Integration: Groq API
- Animations: Framer Motion
- Package Manager: pnpm
The project follows a feature-sliced design, making it modular and easy to navigate.
/src
├── app/ # Next.js App Router pages and layouts
├── backend/ # Server-side logic (actions, models, db config)
│ ├── actions/ # Server actions for mutations and queries
│ ├── config/ # Database and AI prompt configurations
│ └── models/ # Mongoose schemas for the database
├── features/ # Feature-based modules (e.g., dashboard, resume-builder)
│ ├── dashboard/
│ ├── documents/
│ ├── pdf-templates/ # Resume templates
│ └── resume-builder/
│ ├── components/ # React components specific to the resume builder
│ ├── hooks/ # Custom hooks for the feature
│ └── store/ # Zustand store for state management
├── shared/ # Shared code used across multiple features
│ ├── components/ # Reusable components (UI, common elements)
│ ├── hooks/ # Global custom hooks
│ └── lib/ # Utility functions and library configurations
└── public/ # Static assets
Follow these instructions to set up and run the project locally.
- Node.js:
v20.xor later - pnpm: This project uses
pnpm. You can install it withnpm install -g pnpm. - MongoDB: A running instance of MongoDB. A free MongoDB Atlas cluster is a great option.
-
Fork the repository and clone it to your local machine:
git clone https://github.com/Varadarajan-M/resume-craft.git cd resume-craft -
Install dependencies using
pnpm:pnpm install
-
Set up environment variables: Create a
.env.localfile in the root of the project by copying the example file:cp .env.example .env.local
Now, fill in the required API keys and secrets in
.env.local. You can get these from their respective services: -
Run the development server:
pnpm dev
The application should now be running at http://localhost:3000.
Contributions are welcome! If you have ideas for improvements or want to fix a bug, please check out the Contributing Guidelines to get started.