MockMate is an AI-powered interview platform with separate backend and frontend services, designed to help candidates practice interviews and/or help recruiters run AI-assisted interview sessions.
- AI-driven interview question generation powered by Gemini
- Candidate response evaluation
- REST API for interview session management
- Responsive frontend for conducting/practicing interviews
MockMate/
├── backend/ # FastAPI application (API, business logic, AI integration)
├── frontend/ # React application (user interface)
└── .gitignore
| Frontend | Backend | AI & Storage |
|---|---|---|
| React.js | FastAPI | Google Vertex AI |
| Ant Design (UI library) | Uvicorn (ASGI server) | Gemini-2.0-flash |
| Axios (API calls) | Python 3.12+ | MongoDB Atlas |
| React Toastify | Pydantic |
- Git
- Python 3.12+
- Node.js and npm
- A MongoDB Atlas cluster
- A Google Cloud project with Vertex AI enabled (for Gemini-2.0-flash access)
-
Clone the repository
git clone https://github.com/tiyaagarwal/MockMate.git cd MockMate -
Set up the backend
cd backend python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt
-
Set up the frontend
cd ../frontend npm install
Create a .env file in the backend directory with the required keys, for example:
MONGODB_URI=your_mongodb_atlas_connection_string
GOOGLE_APPLICATION_CREDENTIALS=path_to_your_service_account_json
GCP_PROJECT_ID=your_gcp_project_id
GEMINI_MODEL=gemini-2.0-flash
PORT=8000
-
Start the backend
cd backend uvicorn app.main:app --reload --port 8000 -
Start the frontend
cd frontend npm start -
Open your browser at
http://localhost:3000(frontend) — the API will be available athttp://localhost:8000
Once both servers are running, open the frontend in your browser, start an interview session, and interact with the AI interviewer in real time. Responses are evaluated and stored via the backend, with session data persisted in MongoDB Atlas.
Contributions are welcome. Please open an issue to discuss what you'd like to change, then submit a pull request.
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Commit your changes
- Push to the branch and open a pull request
This project is licensed under the MIT License.