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