Practice interviews with real questions, speak your answers, and get AI-powered coaching.
🌐 Live Demo: [prepwise on Render]
- 🤖 AI Question Generation — Claude generates role-specific questions
- 🎙️ Speech-to-Text — Record and transcribe your verbal answers
- 📊 AI Analysis — Scores, strengths, improvements per answer
- 📈 History & Progress — Track all past sessions and improvement
- 🔐 Auth — JWT login, guest mode supported
- 🎨 Pastel minimalist UI — React + CSS Modules
| Layer | Technology |
|---|---|
| Frontend | React 18, Vite, React Router, CSS Modules |
| Backend | Node.js, Express |
| AI | Anthropic Claude Haiku |
| Auth | JWT + bcrypt |
| DB (Users) | PostgreSQL |
| DB (Interviews) | MongoDB |
| DevOps | Docker, Docker Compose |
| Hosting | Render (free tier) |
- Node.js 20+
- Docker Desktop
- Anthropic API Key → console.anthropic.com
# 1. Clone
git clone https://github.com/YOUR_USERNAME/prepwise.git
cd prepwise
# 2. Start databases
docker-compose up postgres mongo -d
# 3. Backend
cd backend
cp .env.example .env
# Fill in ANTHROPIC_API_KEY and JWT_SECRET
npm install
npm run dev # → http://localhost:5001
# 4. Frontend (new terminal)
cd frontend
npm install
npm run dev # → http://localhost:3000# Create a .env file at project root with:
# ANTHROPIC_API_KEY=your_key
# JWT_SECRET=your_secret
docker-compose up --build
# → http://localhost:3000- Go to mongodb.com/atlas → free M0 cluster
- Create cluster → get connection string
- Save it as
MONGO_URI
- Go to render.com → New → Blueprint
- Connect your GitHub repo
- Render reads
render.yamlautomatically - Add these environment variables manually:
ANTHROPIC_API_KEYJWT_SECRETMONGO_URI(from Atlas)CLIENT_URL(your frontend Render URL)
Render gives you a live URL like https://prepwise-frontend.onrender.com
| Method | Endpoint | Auth | Description |
|---|---|---|---|
| GET | /api/health |
No | Health check |
| POST | /api/auth/signup |
No | Register |
| POST | /api/auth/login |
No | Login |
| GET | /api/auth/me |
Yes | Current user |
| POST | /api/interview/generate |
Optional | Generate questions |
| POST | /api/interview/analyze |
Optional | Analyze answer |
| GET | /api/interview/history |
Yes | Past sessions |
| GET | /api/interview/:id |
Yes | One session |
| PATCH | /api/interview/:id/complete |
Yes | Mark complete |
| Day | What we built |
|---|---|
| ✅ Day 1 | Project setup, Docker, React UI shell, Node backend |
| ✅ Day 2 | Auth (JWT), PostgreSQL, MongoDB, Login/Signup UI |
| ✅ Day 3 | AI questions, speech recording, answer analysis |
| ✅ Day 4 | History page, results detail, Docker prod build, Render deploy |