A runnable local interview-preparation platform built with Python/FastAPI, SQLite, HTML, CSS, and vanilla JavaScript.
- Dashboard with readiness metrics and recommendations
- Coding practice with Python execution, test cases, runtime, and submission history
- AI-style mock interview flow with optional LLM integration
- Behavioral and system-design practice prompts
- Feedback reports and progress tracking
- SQLite persistence with automatic seed data
- Responsive UI with no frontend build step
python -m venv .venv
# Windows: .venv\\Scripts\\activate
# macOS/Linux: source .venv/bin/activate
pip install -r backend/requirements.txt
uvicorn backend.app.main:app --reloadOpen http://127.0.0.1:8000 in your browser.
Optional AI integration:
copy .env.example .env # Windows
cp .env.example .env # macOS/LinuxSet OPENAI_API_KEY and optionally OPENAI_MODEL. Without a key, the application uses a deterministic local interviewer so the demo works offline.
backend/app/ FastAPI application, database, services, routes
frontend/ Static HTML/CSS/JS pages
requirements.txt Python dependencies
The local code runner is intentionally a development runner. For production assessment workloads, replace it with an isolated container or microVM runner with disabled networking, resource limits, and a queue. Add real authentication, CSRF protection, rate limiting, consent-based recording, and an audit log before handling employer assessments.
Built InterviewPro, a full-stack interview preparation platform using FastAPI, SQLite, HTML, CSS, and vanilla JavaScript, with coding execution, mock interviews, structured evaluation, progress analytics, and responsive dashboards.