A modern, interactive web application designed to help developers ace their technical interviews with personalized AI-powered preparation plans, practice sessions, and comprehensive learning resources.
Craft My Prep is an AI-powered interview preparation tool that tailors study plans to company-specific job descriptions.
For example:
Input: βFrontend Developer at Swiggy requiring React, performance optimization, and accessibility.β
Output: A structured prep plan with React projects, optimization questions, and accessibility tasks.
This project leverages Google Gemini AI, Next.js, and NextAuth to deliver intelligent and dynamic interview prep experiences.
- Glassmorphism UI β Modern, elegant interface with glass effects
- Framer Motion Animations β Smooth, delightful transitions
- Custom Cursor with hover effects
- Lenis Smooth Scrolling
- Paper-Craft Preloader with animated robot & floating tiles
- π€ AI Plan Generator β Generate customized interview prep plans from job descriptions
- π NextAuth Authentication β Secure Google OAuth login
- π Dashboard β Track progress and skill growth
- π Leaderboard β Compete with peers
- π Notes System β Save and organize personal study notes
- π Blog Section β Technical interview guides & articles
- π‘ Career Insights β Role-based growth guidance
- π§ͺ API Testing Dashboard β Verify Gemini AI integrations
- Extracts key skills and technologies from job descriptions
- Generates personalized interview plans including:
- Learning resources
- Company-relevant projects
- Coding questions
- Mock interview suggestions
- Uses Google Gemini 2.0 Flash for intelligent text comprehension
| Category | Tools |
|---|---|
| Framework | Next.js 15.5.4 (App Router) |
| Frontend | React 19.2.0, TailwindCSS 3.4.4 |
| Animations | Framer Motion 12.23.22, Lenis 1.3.11 |
| Authentication | NextAuth.js (Google OAuth 2.0) |
| AI Integration | Google Gemini AI 2.0 Flash |
| Language | JavaScript (ES6+) |
| Fonts | Inter, Roboto Mono |
| Hosting | Vercel |
git clone <repository-url>
cd Interview_Prepnpm installCreate a .env.local file:
NEXTAUTH_URL=http://localhost:3001
NEXTAUTH_SECRET=your-nextauth-secret-key
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
GEMINI_API_KEY=your-gemini-api-keynpm run devThen open http://localhost:3001.
Interview_Prep/
βββ app/
β βββ api/
β β βββ auth/
β β β βββ [...nextauth]/
β β βββ generate-plan/
β β βββ generate-plan-stream/
β β βββ test-gemini/
β βββ components/
β β βββ CustomCursor.js
β β βββ LenisProvider.js
β β βββ SessionProvider.js
β β βββ Preloader.jsx
β β βββ Sidebar.js
β βββ blog/
β βββ dashboard/
β βββ generate/
β βββ test-api/
β βββ login/
β βββ signup/
β βββ notes/
β βββ about/
β βββ layout.js
β βββ page.js
β βββ globals.css
βββ public/
βββ tailwind.config.js
βββ postcss.config.mjs
βββ package.json
| Endpoint | Method | Description |
|---|---|---|
/api/auth/[...nextauth] |
GET/POST | Authentication handlers |
/api/generate-plan |
POST | Generates AI prep plan |
/api/generate-plan-stream |
POST | Streams plan data |
/api/test-gemini |
GET/POST | Gemini connection tests |
- Primary:
#7ec4b6 - Secondary:
#a8d5ba - Accent:
#7ba8d4 - Background: Gradient
#a8d5e2 β #fef5e7
- Fonts: Inter (sans-serif), Roboto Mono (monospace)
- Page transitions
- Hover effects
- Floating elements
- Parallax background
- Glassmorphism blur layers
| Route | Description | Auth Required |
|---|---|---|
/ |
Landing Page | β |
/generate |
AI Plan Generator | β |
/dashboard |
Progress Dashboard | β |
/leaderboard |
Community Rankings | β |
/notes |
Notes Management | β |
/blog |
Blogs & Guides | β |
/about |
About Page | β |
/test-api |
Gemini Test UI | β |
- β
API keys stored securely in
.env - β Server-side API calls only
- β NextAuth session management
- β OAuth 2.0 with CSRF protection
To test Gemini API:
curl -X POST http://localhost:3001/api/generate-plan \
-H "Content-Type: application/json" \
-d '{"jobDescription": "Full Stack Developer with React and Node.js"}'- Push code to GitHub
- Import project into Vercel
- Add environment variables
- Deploy with one click
Contributions are welcome!
Please open a Pull Request for improvements or new features.
Open source under the MIT License.
- Next.js team
- Framer Motion
- TailwindCSS
- NextAuth.js
- Google Gemini AI
- Vercel