π Elevate Your Job Hunt with AI-Powered CVs, Interviews, and Job Matches!
πΊ Watch Demo β’ π Quick Start β’ π Documentation (Coming soon) β’ π€ Contributing
CareerAI transforms your job search experience with powerful AI-driven tools:
- π― AI-Powered Resume Builder - Create professional resumes with intelligent writing assistance, grammar fixes, and tone adjustments
- π Resume Analysis & Optimization - Get expert feedback and scoring with personalized improvement suggestions
- π€ Mock Interview Practice - Practice with AI interview experts across different roles and receive detailed feedback
- π OAuth Authentication - Seamless login with Google and GitHub accounts
- π± Responsive Design - Works perfectly on desktop and mobile devices
- π Multi-language Support - Built with internationalization in mind
-
Clone the repository
git clone https://github.com/nrl-ai/career-ai.git cd career-ai -
Install dependencies and build
npm install -g pnpm pnpm install pnpm run build
-
Configure environment
cp .env.example .env # Edit .env with your database, OAuth, and infrastructure configuration # Note: AI API keys are configured through the application Settings UI
-
Start the application
bash build-and-restart.sh
Your CareerAI instance will be available at http://localhost:3000
Key environment variables to configure in your .env file:
# Database
DATABASE_URL="postgresql://user:password@localhost:5432/careerai"
# OAuth (Optional)
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
GITHUB_CLIENT_ID="your-github-client-id"
GITHUB_CLIENT_SECRET="your-github-client-secret"
# Authentication
ACCESS_TOKEN_SECRET="your-access-token-secret"
REFRESH_TOKEN_SECRET="your-refresh-token-secret"Important: AI API keys are now configured through the application Settings UI for enhanced security:
- OpenAI API Key - Used for LLM (ChatGPT) and Speech-to-Text services
- ElevenLabs API Key - Used for Text-to-Speech functionality
After deployment, navigate to Settings > AI Configuration to configure these services.
- React 18 - Modern UI library with hooks
- Vite - Fast build tool and dev server
- TailwindCSS - Utility-first CSS framework
- Zustand - Lightweight state management
- React Query - Data fetching and caching
- React Router - Client-side routing
- NestJS - Progressive Node.js framework
- Prisma - Next-generation ORM
- PostgreSQL - Robust relational database
- MinIO - S3-compatible object storage
- Chrome (Browserless) - Headless browser for PDF generation
- OpenAI ChatGPT - Conversational AI and Speech-to-Text
- ElevenLabs - Text-to-Speech synthesis
- OAuth 2.0 - Secure authentication
- Docker & Docker Compose - Containerization
- GitHub Actions - CI/CD pipeline
- ESLint & Prettier - Code quality tools
- Development Guide - Detailed setup for contributors
- API Documentation - Backend API reference
- Deployment Guide - Production deployment instructions
PDF Download Not Working
- Ensure the Chrome container has internet access
- Try disabling UFW on the host machine:
sudo ufw disable - Check Docker network configuration
Build Failures
- Clear node modules:
rm -rf node_modules && pnpm install - Update dependencies:
pnpm update - Check Node.js version compatibility
Database Connection Issues
- Verify PostgreSQL is running
- Check DATABASE_URL in
.env - Ensure database exists and migrations are applied
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and commit:
git commit -m 'Add amazing feature' - Push to your branch:
git push origin feature/amazing-feature - Open a Pull Request
Please read our Contributing Guidelines for more details.
This project is licensed under the MIT License - see the LICENSE file for details.
If you find CareerAI helpful, please:
- β Star this repository
- π Report bugs in Issues
- π‘ Suggest features in Discussions
- π’ Share with your network
- This project was developed from Reactive Resume - Resume Editor.
Made with β€οΈ by the CareerAI Team