💡 Inspiration
Interview prep is costly & intimidating. We built InterviewIQ as a free, AI-powered platform for unlimited practice, instant personalized feedback, and resume analysis, ensuring everyone gets quality coaching. Powered by Google's Gemini API.
✨ What it does
InterviewIQ is a complete prep platform:
- Resume Intelligence: Upload PDF → AI analyzes experience → Suggests optimal role & difficulty.
- Adaptive Questions: AI generates role-specific questions at 3 difficulty levels.
- Instant Feedback: AI evaluates answers with scores, strengths, improvements, and model answers.
- Progress Tracking: Visualize improvement across sessions.
- Always Available: Fallback system ensures app works even during API rate limits.
- Every feature powered by Google Gemini Flash API.
🛠️ How we built it
- Backend: Node.js + Express.js (3 endpoints: /generate-question, /evaluate-answer, /analyze-resume).
- Frontend: Vanilla JavaScript + HTML5 + CSS3 (glassmorphism theme, no frameworks).
- AI: Google Generative AI SDK with Gemini Flash Latest.
- Architecture: generateContent() for text, multimodal PDF analysis (base64), comprehensive fallback (36 pre-written questions), auto-scoring.
- State Management: 6-section SPA with FileReader API for PDF.
🚧 Challenges we ran into & Fixed
- Module Loading Order: dotenv.config() in each service module.
- Multimodal PDF Complexity: Careful base64 encoding & MIME type for Gemini.
- Rate Limiting (60 req/min): Comprehensive fallback system with pre-built content.
- CORS Issues: app.use(cors()).
- UI Responsiveness: Loading states & disabled buttons during API calls.
🎯 Accomplishments we're proud of
✅ Full Gemini API integration (text generation + multimodal PDF analysis). ✅ Production-ready architecture with error handling, validation, 99% uptime via fallback system. ✅ Smart fallback: 36 pre-written questions (12 roles × 3 difficulties) + auto-scoring. ✅ Modern frontend: 6-step flow, glassmorphism, responsive, vanilla JS. ✅ Resume intelligence via multimodal API with auto-filled recommendations. ✅ Git & deployment ready (clean history, .env.example, README, API docs).
📚 What we learned
- Gemini API's flexibility: Single generateContent() call handles text, images, PDFs; generous free tier; exceptional response quality.
- Fallback systems are crucial: Even reliable APIs need graceful degradation; pre-built content enhances UX.
- ES Modules: Careful initialization and import order.
- User-centered design: 6-step flow, clear navigation, and loading states improve responsiveness.
- Vanilla JS viability: No build step, smaller bundle, direct DOM manipulation for SPAs.
🚀 What's next for InterviewIQ
- Short-term: Deploy (Vercel/Railway), user auth, persist sessions.
- Medium-term: Video recording, peer comparison, company-specific questions, React Native app.
- Long-term: Multi-model support (OpenAI/Claude), analytics dashboard, B2B licensing, live coaching.
- Technical Debt: E2E tests (Cypress), Redis caching, TypeScript, Docker.
Log in or sign up for Devpost to join the conversation.