A sleek, LaTeX-inspired resume builder with live preview, secure Firebase authentication, and AI-powered bullet point generation for professional and ATS-friendly resumes.
-
π Firebase Authentication Secure sign-in with Google OAuth, including user profile and image support.
-
π Resume Builder Dashboard Intuitive dashboard for entering and managing resume sections:
- Personal Details (Name, Email, Phone, LinkedIn, GitHub, Address)
- Education (Multiple entries with start/end dates)
- Experience (Multiple entries, bullet points, date range)
- Projects (Multiple entries with optional AI-generated bullets)
- Skills (Languages, frameworks, tools, libraries)
-
π§© Section Visibility Control Sidebar toggles to include/exclude sections in preview and PDF.
-
π Live LaTeX-Style Preview Real-time preview that reflects the professional format of a LaTeX resume.
-
π PDF Export One-click PDF generation from LaTeX with section toggles respected.
-
π€ AI Bullet Generator Generate concise, impactful project bullet points with Gemini API integration.
-
π± Fully Responsive Works smoothly on both desktop and mobile devices.
AI-RESUME-MAKER/
backend/ # Node.js/Express (API, PDF, AI services)
frontend/ # React (Vite-based UI with Firebase auth, preview and forms)
Before setting up the project, ensure you have the following installed:
- Node.js (v16 or higher)
- npm or yarn
- pdflatex (for PDF generation)
- Windows: Install MiKTeX or TeX Live
- macOS: Install MacTeX (
brew install --cask mactex
) - Linux: Install texlive-full (
sudo apt-get install texlive-full
)
git clone <repository-url>
cd AI-RESUME-MAKER
cd backend
npm install
-
Copy the example environment file:
cp .env.example .env
-
Edit
.env
and fill in the required values:
Gemini AI Setup:
- Go to Google AI Studio
- Get your API key
- Add it to your
.env
file
Example .env configuration:
CLIENT_URL=http://localhost:5173
SERVER_URL=http://localhost:5000
PORT=5000
GEMINI_API_KEY=AIzaSyExample_API_Key
NODE_ENV=development
npm start
The backend will run on http://localhost:5000
cd ../frontend
npm install
-
Copy the example environment file:
cp .env.example .env
-
Edit
.env
with Firebase configuration:
Firebase Authentication Setup:
-
Go to Firebase Console
-
Create a new project or select existing one
-
Enable Authentication and configure Google sign-in method
-
Go to Project Settings β General β Your apps β Web app
-
Copy the Firebase configuration values
VITE_API_URL=http://localhost:5000 VITE_FIREBASE_API_KEY=your_firebase_api_key VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com VITE_FIREBASE_PROJECT_ID=your_project_id VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id VITE_FIREBASE_APP_ID=your_app_id
npm run dev
The frontend will run on http://localhost:5173
-
Create Firebase Project:
- Go to Firebase Console
- Click "Create a project" or "Add project"
- Enter project name (e.g., "resume-maker-app")
- Complete project creation
-
Enable Authentication:
- In Firebase project dashboard, click "Authentication"
- Click "Get started"
- Go to "Sign-in method" tab
- Enable Google sign-in provider
- Add your support email and project name
- Click "Save"
-
Configure Authorized Domains:
- In Authentication β Sign-in method β Authorized domains
- Add
localhost
(for development) - Add your production domain (when deploying)
-
Get Firebase Configuration:
- Click gear icon βοΈ β Project settings
- Scroll to "Your apps" β Click Web icon
</>
- Register app with nickname "Resume Maker Web"
- Copy the configuration values to your
.env
file
- Open
http://localhost:5173
in your browser - Click "Continue with Google" to test Firebase authentication
- Try creating a resume and generating a PDF
- Deploy your backend to your preferred service
- Set environment variables in your deployment platform:
CLIENT_URL
(your frontend deployment URL)GEMINI_API_KEY
NODE_ENV=production
- Update
frontend/.env
with your deployed backend URL:VITE_API_URL=https://your-backend-domain.com
- Add all Firebase environment variables to your deployment platform
- Deploy to Vercel/Netlify
- Firebase Authentication: Update authorized domains in Firebase Console to include your production URLs
- CORS: The backend is configured to allow requests from
CLIENT_URL
- PDF Generation: Ensure your deployment platform supports LaTeX (some platforms may require additional setup)
-
Authentication not working:
- Verify Firebase configuration values are correct
- Check that your domain is added to Firebase authorized domains
- Ensure Firebase project has Google sign-in enabled
-
PDF generation fails:
- Verify pdflatex is installed and accessible
- Check server logs for LaTeX compilation errors
-
AI bullet points not working:
- Verify your Gemini API key is valid and has sufficient quota
- Check network connectivity to Google AI services
-
CORS errors:
- Ensure
CLIENT_URL
in backend.env
matches your frontend URL
- Ensure
- Use browser developer tools to check network requests
- Check backend console logs for detailed error messages
- Ensure all environment variables are properly set
- Test Firebase authentication in incognito mode to verify functionality
- Frontend: React, Vite, Firebase Authentication
- Backend: Node.js, Express
- Authentication: Firebase (Google OAuth)
- AI: Google Gemini API for bullet point generation
- PDF Generation: LaTeX with node-latex
- Styling: CSS with responsive design
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly (including authentication flow)
- Submit a pull request
This project is open source and available under the MIT License.