The AI Resume Builder is a modern web application built with React that helps users create, customize, and export professional resumes effortlessly. With a clean interface and AI-assisted features, users can generate impactful resumes in minutes.
- π€ AI Suggestions: Smart recommendations for resume content and layout optimization
- π¨ Drag & Drop Interface: Intuitive resume editing experience with real-time preview
- π± Responsive Design: Mobile-friendly and visually clean layout using Bootstrap and React Bootstrap
- π PDF Export: Seamlessly export resumes using
react-to-printwith professional formatting - π User Authentication: Secure login and data handling via Firebase Authentication
- π§ Navigation: Smooth transitions between sections using React Router
- β Testing Ready: Built with Jest and React Testing Library for reliability
- πΎ Auto-Save: Automatic saving of resume progress to prevent data loss
| Technology | Purpose | Version |
|---|---|---|
| React | Core frontend framework | ^18.0.0 |
| Bootstrap | Responsive styling | ^5.3.0 |
| React Bootstrap | React components for Bootstrap | ^2.8.0 |
| React Router | Routing and navigation | ^6.0.0 |
| Firebase | Authentication / backend services | ^9.0.0 |
| React To Print | Resume export to PDF | ^1.14.0 |
| Jest + RTL | Unit and UI testing | Latest |
resume-builder/
βββ public/ # Static files
β βββ index.html
β βββ favicon.ico
β βββ manifest.json
βββ src/
β βββ assets/ # Images, icons, and static resources
β β βββ images/
β β βββ icons/
β βββ components/ # Reusable UI components
β β βββ Header/
β β βββ Footer/
β β βββ ResumePreview/
β β βββ FormSections/
β β βββ common/
β βββ context/ # Global state management
β β βββ AuthContext.js
β β βββ ResumeContext.js
β βββ pages/ # App pages
β β βββ Home/
β β βββ Editor/
β β βββ Login/
β β βββ Register/
β β βββ Dashboard/
β βββ styles/ # Custom CSS/SASS
β β βββ globals.css
β β βββ components/
β βββ utils/ # Helper functions
β β βββ resumeHelpers.js
β β βββ aiSuggestions.js
β βββ hooks/ # Custom React hooks
β βββ services/ # API and external services
β β βββ firebase.js
β β βββ aiService.js
β βββ App.js # Main app component
β βββ App.css
β βββ index.js # Entry point
βββ package.json
βββ README.md
βββ .env.example # Environment variables template
- Node.js (v16+ recommended)
- npm or yarn package manager
- Firebase project (for authentication & optional storage)
-
Clone the Repository
git clone https://github.com/your-username/ai-resume-builder.git cd ai-resume-builder -
Install Dependencies
npm install # or yarn install -
Environment Setup
cp .env.example .env.local
Fill in your environment variables:
REACT_APP_FIREBASE_API_KEY=your_api_key REACT_APP_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com REACT_APP_FIREBASE_PROJECT_ID=your_project_id REACT_APP_FIREBASE_STORAGE_BUCKET=your_project.appspot.com REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your_sender_id REACT_APP_FIREBASE_APP_ID=your_app_id
-
Set up Firebase
- Create a new Firebase project at Firebase Console
- Enable Authentication (Email/Password, Google, etc.)
- Enable Firestore Database (optional, for saving resumes)
- Add your web app configuration to the
.env.localfile
-
Start the Development Server
npm start # or yarn start
The app will open at http://localhost:3000
Run the test suite:
npm test
# or
yarn testRun tests with coverage:
npm test -- --coverageCreate an optimized production build:
npm run build
# or
yarn buildThe build files will be generated in the build/ directory.
npm install -g firebase-tools
firebase login
firebase init hosting
firebase deploynpm install -g vercel
vercel- Connect your GitHub repository to Netlify
- Set build command:
npm run build - Set publish directory:
build
npm install --save-dev gh-pages
# Add to package.json scripts:
# "predeploy": "npm run build",
# "deploy": "gh-pages -d build"
npm run deploy- Fork the repository
- 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
/login- User authentication/register- User registration/logout- User logout
{
id: "unique_id",
userId: "user_id",
personalInfo: {
name: "John Doe",
email: "john@example.com",
phone: "+1234567890",
location: "City, Country"
},
sections: {
experience: [...],
education: [...],
skills: [...],
projects: [...]
},
template: "modern",
createdAt: "timestamp",
updatedAt: "timestamp"
}- PDF export may not preserve custom fonts in some browsers
- Mobile drag & drop functionality is limited on older devices
- AI suggestions require internet connection
- Multiple resume templates
- LinkedIn profile import
- Advanced AI content suggestions
- Collaborative resume editing
- Resume analytics and optimization tips
- Integration with job boards
- Multi-language support
This project is licensed under the MIT License - see the LICENSE file for details.
- Never commit your Firebase API keys or sensitive information to version control
- Always use environment variables for configuration
- Enable Firebase security rules for production deployment
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue with detailed information
- Join our Discord community for real-time help
- React community for excellent documentation
- Firebase team for seamless backend services
- Bootstrap team for responsive design components
- All contributors who helped improve this project
β¨ AI Resume Builder β Your smarter way to craft the perfect resume.
β Star this repository if you found it helpful!