From Zero to One: The Story of a Personal AI Interview Coach
Note from the Developer: This project was more than a technical exercise; it was a journey. It started with a simple idea—to build a better way to prepare for tech interviews—and evolved into a comprehensive platform. Every feature, every challenge, and every line of code represents a real story of problem-solving and growth.
(This is the perfect place for a high-quality GIF that walks through the user journey: creating a deck, a review session, and a practice session.)
Interview Prep AI is an intelligent learning platform that transforms how tech professionals prepare for interviews. It moves beyond static flashcards to create a dynamic, feedback-driven ecosystem that helps you not only know the material but also master communicating it.
- Build Custom Decks in Seconds: Create hyper-relevant interview decks for any role, or let the AI build one for you by simply pasting a link to a real job description.
- Learn with Spaced Repetition: A smart SRS algorithm schedules your reviews at the optimal time to ensure knowledge moves into your long-term memory.
- Practice Aloud, Get Real Feedback: Use your voice to practice your answers and receive instant, AI-powered critiques on your content, clarity, and delivery.
- Simulate a Real Video Interview: The AI Interview Coach runs a live video-call simulation with real-time scoring on eye contact, confidence, voice clarity, and more.
- Sharpen Your Resume: Get AI-driven feedback on an existing resume, or build one from scratch with the Smart Resume Builder.
- Track Your Growth: A personalized dashboard visualizes your progress, showing you exactly where you're strong and where you need to focus.
This project is a full-stack MERN application, architected for a modern, scalable, and real-time user experience.
A project's true value is in the problems solved along the way. This application's most advanced features are the direct result of tackling and overcoming significant engineering hurdles.
- The Ambition: To provide consistently accurate, structured feedback from the AI.
- The Roadblock: The LLM would occasionally "bleed" conversational text around its JSON output, breaking the frontend. After multiple failed attempts to perfect the prompt, the application's core feature was at risk.
- The Breakthrough: Instead of trying to force the AI to be perfect, I built a resilient system around its imperfections. I engineered a robust parsing layer on the backend that intelligently finds and extracts the valid JSON from the raw text.
- The Takeaway: This was a profound lesson in defensive programming. A senior engineer's job isn't just to make things work; it's to build systems that don't break when faced with the unexpected.
- The Ambition: To move beyond a simple flashcard app and implement a true Spaced Repetition System.
- The Roadblock: Translating the theoretical SM-2 algorithm into performant, stateful backend logic was far more complex than anticipated. My initial attempts were buggy and didn't correctly schedule the review intervals.
- The Breakthrough: I took a step back and dedicated time to studying open-source SRS implementations. This research allowed me to refactor my logic, resulting in a stable and effective scheduling engine.
- The Takeaway: This taught me the value of deep research before implementation. Sometimes, the fastest way to solve a problem is to slow down and learn from the work of others.
This project is a testament to the engineering process: ambition, struggle, learning, and ultimately, resilience.
To run this project locally, follow these steps:
- Node.js (v18 or later)
- MongoDB instance (local or cloud-based)
- Google Gemini API Key
git clone https://github.com/Shashank0701-byte/interview-prep.git
cd interview-prep# Install backend dependencies
cd backend
npm install
# Install frontend dependencies
cd ../frontend
npm installIn the backend directory, create a .env file and add your configuration details:
MONGO_URI=your_mongodb_connection_string
GEMINI_API_KEY=your_gemini_api_key# Run the backend server (from the backend folder)
npm run dev
# Run the frontend development server (from the frontend folder in a new terminal)
npm run devThe repo also ships a docker-compose.yml that builds and runs all three services — backend, frontend, and the Python AI/RAG service — together:
# Set up env files first (each service needs its own)
cp backend/.env.example backend/.env # fill in MONGO_URI, GEMINI_API_KEY, etc.
cp ai-training/.env.example ai-training/.env # fill in GEMINI_API_KEY, etc.
# Build and start everything
docker compose up --buildThis starts:
- backend — Express API on http://localhost:8000
- frontend — the built React app served via Nginx on http://localhost:80
- ai — the FastAPI RAG service on http://localhost:8001
All three have healthchecks configured, and the frontend waits for the backend to report healthy before starting. Stop everything with docker compose down.
- Role-based question banks (SDE, Analyst, Designer)
- Leaderboards
Contributions are welcome! See CONTRIBUTING.md for branch conventions, commit style, and how the project is structured before opening a PR.
This project is licensed under the MIT License.
Author: Shashank Chakraborty
Live Project: Interview Prep AI
Email: shashankchakraborty712005@gmail.com
