Skip to content

Repository files navigation

Interview Prep AI

From Zero to One: The Story of a Personal AI Interview Coach

View the Live Application


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.


The Final Product in Action

(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 Showcase GIF


What It Does: A Smarter Way to Prepare

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.

The Technology Behind the Build

This project is a full-stack MERN application, architected for a modern, scalable, and real-time user experience.

React Node.js Express.js MongoDB Tailwind CSS Google Gemini Vercel Render


The Story Behind the Build: Challenges & Learnings

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.

1. The AI Reliability Challenge

  • 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.

2. The SRS Algorithm Challenge

  • 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.


Getting Started

To run this project locally, follow these steps:

Prerequisites

  • Node.js (v18 or later)
  • MongoDB instance (local or cloud-based)
  • Google Gemini API Key

1. Clone the Repository

git clone https://github.com/Shashank0701-byte/interview-prep.git
cd interview-prep

2. Install Dependencies

# Install backend dependencies
cd backend
npm install

# Install frontend dependencies
cd ../frontend
npm install

3. Configure Environment Variables

In 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

4. Run the Application

# 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 dev

Alternative: Run Everything with Docker

The 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 --build

This starts:

All three have healthchecks configured, and the frontend waits for the backend to report healthy before starting. Stop everything with docker compose down.


Roadmap (Future Advancements)

  • Role-based question banks (SDE, Analyst, Designer)
  • Leaderboards

Contributing

Contributions are welcome! See CONTRIBUTING.md for branch conventions, commit style, and how the project is structured before opening a PR.


License

This project is licensed under the MIT License.


Author: Shashank Chakraborty
Live Project: Interview Prep AI
Email: shashankchakraborty712005@gmail.com

Releases

Packages

Used by

Contributors

Languages