An intelligent platform that helps you ace your job interviews with AI-powered mock interviews and personalized feedback
- Smart Workflow Management: Create and manage interview workflows for different positions
- Resume Analysis: Upload your PDF resume for AI-powered analysis and optimization suggestions
- Personalized Q&A: Get tailored interview questions based on your background and target role
- Resource Recommendations: Access curated learning materials and preparation resources
- Real-time Conversations: Engage in natural conversations with AI interviewer via text or voice
- Adaptive Questioning: Dynamic follow-up questions based on your responses
- Session Management: Timed interview sessions with automatic transcript generation
- Multi-modal Support: Text and audio communication options
- Comprehensive Analysis: Detailed performance evaluation across multiple dimensions
- Strength Recognition: Highlight what you did well during the interview
- Improvement Areas: Specific suggestions with examples and actionable advice
- Progress Tracking: Monitor your improvement over multiple interview sessions
- Resource Library: Curated links to help you improve identified weak areas
- Session History: Access all your past interview transcripts and feedback
- Position-based Filtering: Filter interviews by specific job positions
- Performance Trends: Track your progress across different interview sessions
- Exportable Reports: Download interview transcripts and feedback for review
- Flutter Web - Cross-platform UI framework for responsive web applications
- Dart - Programming language optimized for building user interfaces
- Material Design - Google's design system for consistent UI/UX
- FastAPI - Modern, fast Python web framework for building APIs
- Python 3.9+ - Core backend programming language
- Google ADK - Agent Development Kit for AI agent orchestration
- WebSocket - Real-time bidirectional communication
- Google Gemini 2.0 - Advanced language model for interview conversations
- Google Cloud AI - Cloud-based AI services and infrastructure
- Firestore - NoSQL document database for scalable data storage
- Firebase Auth - Authentication and user management
- Google Cloud Platform - Cloud infrastructure and hosting
- GitHub Actions - CI/CD pipeline automation
- Flutter SDK (3.0+)
- Python (3.9+)
- Node.js (16+)
- Firebase Project with Firestore and Authentication enabled
- Google Cloud Project with required APIs enabled
-
Clone the repository
git clone https://github.com/lydia-yan/Intelliview cd Intelliview -
Set up Python environment
cd backend python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
-
Configure environment variables Create a
.envfile in thebackend/directory:# backend/.env GOOGLE_CLOUD_PROJECT=your-actual-project-id GOOGLE_CLOUD_LOCATION=us-central1 GOOGLE_GENAI_USE_VERTEXAI=True -
Set up Firebase credentials Create a
credentialsfolder and put yourfirebase_key.jsoninside itFIREBASE_KEY_PATH=credentials/firebase_key.json #Or change it to your actual path of firebase_key.json -
Run the backend server From the project root path
uvicorn backend.app:app --reload --port 8000
-
Navigate to frontend directory
cd frontend/mocker_web -
Install Flutter dependencies
flutter pub get
-
Configure Firebase and Google Sign-In Client ID
- Add your
firebase_options.dartfile or change the ID and key to your own version in the existingfirebase_options.dartfile - Add your own Google Sign-In Client ID in
lib/services/auth_service.dartandweb/index.htmlfile
- Add your
-
Run the web application
flutter run -d chrome --web-port 3000
mocker/
├── backend/ # Python FastAPI backend
│ ├── agents/ # AI agents (interviewer, judge)
│ ├── api/ # REST API endpoints
│ ├── data/ # Database models and schemas
│ ├── coordinator/ # Session management
│ └── service/
├── frontend/ # Flutter web frontend
│ └── mocker_web/
│ ├── lib/
│ │ ├── pages/ # UI pages/screens
│ │ ├── services/ # API service layer
│ │ ├── models/ # Data models
│ │ ├── widgets/ # Reusable UI components
│ │ └── config/ # App configuration
│ └── web/ # Web-specific assets
└── README.md # Project documentation
- Create Account: Sign up using your email or social login
- Prepare Workflow: Upload your resume and create a workflow for your target position
- Get Recommendation Q&A: Review AI-generated interview questions tailored to your profile
- Practice Interview: Start a mock interview session with our AI interviewer
- Receive Feedback: Get detailed analysis and suggestions for improvement
- Track Progress: Monitor your performance across multiple sessions
Once the backend is running, visit http://localhost:8000/docs for interactive API documentation powered by Swagger UI.
We welcome contributions!
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions or need help, please:
- 📧 Open an issue on GitHub
- 💬 Join our community discussions
- 📖 Check the documentation
Built with ❤️ using Flutter, Python, and Google AI
⭐ Star this repo if you find it helpful!