AI Resume Builder is a full-stack web application that simplifies the resume creation process. It leverages AI to analyze your inputs and generate professional, ATS-friendly content tailored to your specific industry and job role.
Let the intelligent formatting engine handle the design and layout while you focus on taking the next step in your career.
- AI-Powered Content Generation: Automatically generate compelling summaries and experience bullet points using Google's Gemini 2.5 Flash model.
- Dynamic 3D UI Elements: Engaging, interactive 3D landing page components built with React Three Fiber and Framer Motion.
- Secure Authentication: Robust authentication system combining custom JWT (HttpOnly cookies) and Google OAuth.
- Live Preview & PDF Export: See changes to your resume in real-time and export a clean, formatted PDF instantly.
- Public Sharing: Generate a unique, shareable URL for your resume to send to recruiters.
Frontend
- Framework: React 18 (Vite)
- Styling & UI: Tailwind CSS, Radix UI
- Animations & 3D: Framer Motion, Three.js (
@react-three/fiber,@react-three/drei) - Routing: React Router DOM
Backend
- Runtime: Node.js
- Framework: Express.js
- Database: MongoDB (Mongoose)
- Auth:
jsonwebtoken,google-auth-library,bcryptjs - AI Integration:
@google/genai(Server),@google/generative-ai(Client)
Deployment
- Frontend: Netlify
- Backend API: Render
This repository uses a decoupled Client-Server architecture:
- Client (
/client): A Vite-powered React SPA that handles UI rendering, 3D graphics, and client-side routing. - Server (
/server): A Node/Express REST API that manages MongoDB read/writes, JWT session cookies, and secure proxying of prompts to the Google Gemini API.
Note: The production build is configured via a postinstall script to serve the compiled Vite frontend statically from the Node server.
- Node.js (v18 or higher recommended)
- MongoDB (Local instance or MongoDB Atlas cluster)
- Gemini API Key (Get one from Google AI Studio)
- Google OAuth Client ID (For Google Sign-In)
-
Clone the repository:
git clone https://github.com/pran-ekaiva006/AI-resume_builder.git cd AI-resume_builder -
Install Client Dependencies:
cd client npm install -
Install Server Dependencies:
cd ../server npm install
You need to set up .env files in both the client and server directories. Copy the provided .env.example files:
| Variable | Description |
|---|---|
VITE_BACKEND_URL |
The URL of your Express API (e.g., http://localhost:5001) |
VITE_BASE_URL |
The URL of your frontend (e.g., http://localhost:5173) |
VITE_GOOGLE_CLIENT_ID |
Your Google OAuth Client ID for frontend sign-in |
| Variable | Description |
|---|---|
MONGO_URI |
Your MongoDB connection string |
PORT |
The port the Express server runs on (default: 5001) |
GEMINI_API_KEY |
Your Google Gemini API Key |
NODE_ENV |
development or production |
CLIENT_URL |
Allowed CORS origin (e.g., http://localhost:5173) |
RENDER_EXTERNAL_URL |
(Optional) Production URL for deployment |
GOOGLE_CLIENT_ID |
Your Google OAuth Client ID for backend verification |
ACCESS_TOKEN_SECRET |
Secret key for signing JWT access tokens |
REFRESH_TOKEN_SECRET |
Secret key for signing JWT refresh tokens |
SMTP_* |
(Optional) SMTP credentials for email services |
Open two separate terminal instances:
Terminal 1 (Frontend):
cd client
npm run devTerminal 2 (Backend):
cd server
npm run dev(The backend runs on http://localhost:5001 and the frontend runs on http://localhost:5173)
AI-resume_builder/
βββ client/ # Frontend React Application
β βββ public/ # Static assets (images, logos)
β βββ service/ # Global Axios API configuration
β βββ src/
β βββ assets/ # Home page & banner assets
β βββ auth/ # Authentication pages (Sign In, Sign Up, Reset)
β βββ components/ # Reusable UI & custom components
β βββ context/ # React Context (Auth, ResumeInfo)
β βββ dashboard/ # Dashboard and Resume Editor interface
β βββ my-resume/ # Public/Live preview routes
βββ server/ # Backend Express API
β βββ controllers/ # Route logic (Auth, Resumes)
β βββ middlewares/ # JWT & rate-limiting middleware
β βββ models/ # Mongoose schemas (Resume, User)
β βββ routes/ # Express API routes (aiRoutes, authRoutes, resumeRoutes)
βββ README.md
Contributions, issues, and feature requests are welcome!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Pranjal Kumar Verma
- GitHub: @pran-ekaiva006