Do you ever struggle with getting the right answer in your interviews? Get amazing and quick feedback on your interview response with "InterviewCoach"! The InterviewCoach is designed to help you improve your behavioral and technical interview responses.
👉 Deployed on AWS EC2: https://bit.ly/interviewcoach-v1
- Frontend: React + Vite + Tailwind CSS
- Backend: Python + FastAPI
- AI: OpenAI GPT-4o-mini
- Deployment: Docker + Kubernetes + AWS EKS
- Python 3.11+
- Node.js 20+
- OpenAI API key
-
Clone the repository
git clone https://github.com/TangoMango223/InterviewCoachAI.git cd interviewcoach -
Set up environment variables
# Create .env file in the root directory echo "OPENAI_API_KEY=your-api-key-here" > .env
-
Build the frontend
cd web npm install npm run build cd ..
This builds the React app and copies it to
app/static/ -
Set up Python environment
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r app/requirements.txt
-
Run the backend server
cd app uvicorn main:app --host 0.0.0.0 --port 8080 -
Access the app
Open your browser and go to:
http://localhost:8080
Available on Docker Hub: https://hub.docker.com/r/tangomango223/interviewcoach
# Pull the image
docker pull tangomango223/interviewcoach:v1.0.1
# Run the container
docker run -p 8080:8080 -e OPENAI_API_KEY=your-api-key-here tangomango223/interviewcoach:v1.0.1Then open your browser and go to: http://localhost:8080
- This solution requires installing and running Docker on your machine!
-
Build the Docker image
docker build -t interviewcoach . -
Run the container
docker run -p 8080:8080 --env-file .env interviewcoach
-
Access the app
Open your browser and go to:
http://localhost:8080
-
Login to Docker Hub
docker login
-
Tag and push your image
docker tag interviewcoach <your-dockerhub-username>/interviewcoach:latest docker push <your-dockerhub-username>/interviewcoach:latest
-
Create a public repository (one-time setup)
aws ecr-public create-repository \ --repository-name interviewcoach \ --region us-east-1
-
Authenticate and push
aws ecr-public get-login-password --region us-east-1 | \ docker login --username AWS --password-stdin public.ecr.aws docker tag interviewcoach public.ecr.aws/<your-alias>/interviewcoach:latest docker push public.ecr.aws/<your-alias>/interviewcoach:latest
interviewcoach/
├── app/ # Backend (FastAPI)
│ ├── main.py # API endpoints
│ ├── prompt.py # AI prompt configuration
│ ├── requirements.txt # Python dependencies
│ └── static/ # Built frontend (auto-generated)
├── web/ # Frontend (React)
│ ├── src/
│ │ ├── App.jsx # Main React component
│ │ └── styles.css # Tailwind styles
│ └── package.json
├── Dockerfile # Multi-stage Docker build
├── .env # Environment variables (not in git)
└── .gitignore
- Frontend development server:
cd web && npm run dev - Backend development:
cd app && uvicorn main:app --reload
Built for learning deployment concepts: Docker → Kubernetes → Helm → AWS EKS