AI-powered interview question generator — built with Gemini, FastAPI, and vanilla HTML.
IntervAI takes a job title and instantly generates 3 thoughtful, role-specific interview questions using Google's Gemini AI. Questions vary by type behavioural, situational, and role-specific knowledge so you walk into every interview prepared.
| Layer | Technology |
|---|---|
| Frontend | HTML, CSS, Vanilla JS |
| Backend | Python, FastAPI |
| AI | Google Gemini (google-generativeai) |
| Server | Uvicorn |
| Deployment | Vercel (frontend) · Railway (backend) |
IntervAI/
├── backend/
│ ├── chat.py # FastAPI app + Gemini integration
│ ├── requirements.txt # Python dependencies
│ └── .env # API keys (never commit this)
├── frontend/
│ └── index.html # Full frontend — single file
└── README.md
- Python 3.10+
- A Google Gemini API key — get one free at ai.google.dev
git clone https://github.com/Di-nobi/IntervAI.git
cd IntervAIpython3 -m venv venv
source venv/bin/activate
venv\Scripts\activatepip install -r backend/requirements.txtCreate a .env file inside the backend/ folder:
touch backend/.envAdd your Gemini API key:
API_KEY=your-gemini-api-key-here
uvicorn backend.chat:app --reloadThe API will be live at http://localhost:8000.
Open frontend/index.html directly in your browser. That's it — no build step needed.
Generates 3 interview questions for a given job title.
Request body:
{
"jobTitle": "Customer Success Manager"
}Response:
{
"questions": [
"How do you handle a situation where a customer is at risk of churning?",
"Walk me through how you prioritise accounts when your portfolio is large.",
"What metrics do you use to define and measure customer success?"
]
}Returns the health status of the API.
{ "status": "ok" }- Push your code to GitHub
- Go to railway.app and create a new project from your repo
- Set the root directory to
backend/ - Add your
API_KEYunder Variables - Set the start command to:
uvicorn chat:app --host 0.0.0.0 --port $PORT
- Go to vercel.com and import your GitHub repo
- Set the root directory to
frontend/ - Update
BACKEND_URLinindex.htmlto your Railway URL:const BACKEND_URL = "https://intervai-production.up.railway.app";
- Deploy — Vercel handles the rest.
| Variable | Description |
|---|---|
API_KEY |
Your Google Gemini API key |
⚠️ Never commit your.envfile. It's already in.gitignore.
Built by Di-nobi · Powered by Gemini