An intelligent job matching platform that uses AI to match candidates with their ideal positions based on resume analysis and preferences.
View your app in AI Studio: https://ai.studio/apps/drive/1pmzV2WS8KBg1cR_Xp6LjrvXZEg5gh3G4
- 🔐 Firebase Authentication - Email/Password and Google OAuth
- 📝 Smart Preferences - Incremental fuzzy search for 254+ job titles and 92+ locations
- 📄 Resume Upload - Multiple file formats with drag & drop support
- 🚀 Project Showcase - Upload project files and add portfolio links
- 🤖 AI Job Matching - Gemini-powered semantic matching
- 💾 Cloud Storage - All data persisted in Firebase Firestore and Storage
- Node.js (v16 or higher)
- Firebase Account
- Gemini API Key
npm installSet the GEMINI_API_KEY in .env.local to your Gemini API key
Follow the instructions in FIREBASE_SETUP.md to:
- Enable Firestore Database
- Enable Firebase Storage
- Configure security rules
npm run devThe app will be available at http://localhost:3000
Important: Before using the app, you must:
- Enable Firestore Database in Firebase Console
- Enable Firebase Storage in Firebase Console
- Add security rules (instructions in FIREBASE_SETUP.md)
See FIREBASE_SETUP.md for detailed instructions.
GoodJobs/
├── components/ # React components
│ ├── SignInPage.tsx # Firebase email/password auth
│ ├── SignUpPage.tsx # User registration
│ ├── PreferencesPage.tsx # Job/location preferences with fuzzy search
│ └── ResumeUploadPage.tsx # Resume & project upload
├── services/
│ ├── authService.ts # Firebase auth operations
│ ├── firestoreService.ts # Database operations
│ └── geminiService.ts # AI matching service
├── config/
│ └── firebase.ts # Firebase configuration
├── data/
│ └── jobTitles.ts # 254 job titles & 92 locations
└── types.ts # TypeScript interfaces
- Landing Page → Get Started
- Sign Up/Sign In → Firebase Authentication
- Step 1: Preferences
- Select job titles (multiple, searchable)
- Select locations (multiple, searchable)
- Work environment preferences
- Visa sponsorship requirements
- Step 2: Resume & Projects
- Upload resume files (required)
- Upload project files (optional)
- Add project links (optional)
- Dashboard → AI-matched job listings
- Install Firebase CLI:
npm install -g firebase-tools- Login to Firebase:
firebase login- Initialize Firebase:
firebase init- Build and deploy:
npm run build
firebase deployYour app will be live at: goodjobs-5f53a.web.app
- FIREBASE_SETUP.md - Complete Firebase configuration guide
- FIREBASE_EMAIL_SETUP.md - Password reset email troubleshooting
- IMPLEMENTATION_SUMMARY.md - Technical implementation details
- Frontend: React 19, TypeScript, Tailwind CSS
- Backend: Firebase (Auth, Firestore, Storage)
- AI: Google Gemini API
- Build Tool: Vite
- Icons: Font Awesome
MIT
