An AI-powered resume builder built with React, TypeScript, Vite, and Google Gemini — backed by Firebase and deployed on Vercel.
👉 resumecraft-topaz.vercel.app
- AI Resume Generation — Powered by Google Gemini API to craft professional, tailored resumes from user input
- Firebase Backend — Firestore database for storing and retrieving resume data securely
- Firestore Security Rules — Fine-grained data access control via
firestore.rules - Type-Safe Codebase — 98%+ TypeScript for reliability across the entire app
- Fast Build — Vite-powered development and production builds
- Vercel Deployment — Seamlessly hosted and auto-deployed on Vercel
| Technology | Purpose |
|---|---|
| React + TypeScript | Frontend UI & type safety |
| Vite | Build tool & dev server |
| Google Gemini API | AI-powered resume generation |
| Firebase / Firestore | Backend database & data storage |
| Firestore Security Rules | Data access control |
| Vercel | Hosting & deployment |
- Node.js (v18 or higher)
- A Google Gemini API key
- A Firebase project with Firestore enabled
-
Clone the repository
git clone https://github.com/Bhanu99517/resumecraft.git cd resumecraft -
Install dependencies
npm install
-
Set up environment variables
Copy the example env file and fill in your values:
cp .env.example .env.local
Then edit
.env.local:GEMINI_API_KEY=your_gemini_api_key_here APP_URL=http://localhost:5173
⚠️ Never commit your real API keys to version control..env.localis already listed in.gitignore. -
Configure Firebase
Update
firebase-applet-config.jsonwith your Firebase project credentials from the Firebase Console. -
Deploy Firestore rules
firebase deploy --only firestore:rules
-
Start the development server
npm run dev
The app will be available at
http://localhost:5173
resumecraft/
├── src/ # Main source code
│ └── ... # Components, pages, services
├── .env.example # Environment variable template
├── firebase-applet-config.json # Firebase app configuration
├── firebase-blueprint.json # Firebase project blueprint
├── firestore.rules # Firestore security rules
├── index.html # HTML entry point
├── metadata.json # App metadata
├── vite.config.ts # Vite build configuration
├── tsconfig.json # TypeScript configuration
└── package.json # Dependencies & scripts
-
Push your code to GitHub
-
Import the repository at vercel.com
-
Add the following environment variables in Vercel's project settings:
Key Value GEMINI_API_KEYYour Google Gemini API key APP_URLYour Vercel deployment URL (e.g. https://resumecraft-topaz.vercel.app) -
Click Deploy
⚠️ BothGEMINI_API_KEYandAPP_URLmust be set in Vercel's Environment Variables dashboard — not just in.env.local— for the app to work in production.
| Variable | Required | Description |
|---|---|---|
GEMINI_API_KEY |
✅ Yes | Your Google Gemini API key for AI resume generation |
APP_URL |
✅ Yes | The hosted URL of the app (used for API callbacks and self-referential links) |
This project uses Firestore for backend data storage. To configure it:
- Create a project at firebase.google.com
- Enable Firestore Database in the Firebase Console
- Copy your Firebase config into
firebase-applet-config.json - Review and deploy
firestore.rulesto secure your database:firebase deploy --only firestore:rules
| Command | Description |
|---|---|
npm run dev |
Start local development server |
npm run build |
Build for production |
npm run preview |
Preview the production build locally |
Contributions are welcome!
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Commit your changes:
git commit -m "Add your feature" - Push to the branch:
git push origin feature/your-feature - Open a Pull Request
Bhanu — @Bhanu99517
Built with ❤️ using React, TypeScript, Vite, Google Gemini AI, and Firebase