Inspiration Job interviews are terrifying — and most people go in underprepared simply because there's no good way to practice. Mock interviews with friends feel awkward, and generic question lists don't give you feedback. I wanted to build something that actually simulates the pressure of a real interview and tells you exactly how you performed. What it does PrepAI runs AI-powered mock interview sessions tailored to your role, experience level, and interview type. You pick your role (e.g. Software Engineer), level (junior / mid / senior), and format — behavioral, technical, mixed, or describe your exact situation and get questions built around it. Questions are read aloud, you answer by voice or text, and after every answer you get a score out of 100, two strengths, two areas to improve, and an ideal answer to compare against. At the end you get a full session report with an overall score, verdict, and complete answer breakdown — all saved to your account. How we built it Next.js 14 App Router for the frontend, Groq's llama-3.3-70b-versatile for AI feedback streamed in real time, Supabase for auth and storing all sessions and answers, Zustand for state management, and Tailwind CSS for styling. Voice input and text-to-speech via the Web Speech API. Rate limiting on all API routes via custom middleware. Challenges we ran into Getting the streaming feedback to feel truly real-time while also being parseable JSON was tricky — the model streams plain text and I had to buffer and parse it reliably on the client. Setting up Google OAuth across Supabase, Google Cloud, and Vercel with all the redirect URIs matching correctly also took longer than expected. Accomplishments that we're proud of The session flow feels genuinely like a real interview — questions escalate naturally, voice input works smoothly, and the feedback is specific and actionable rather than generic. Building the entire thing solo end-to-end in a hackathon timeframe and getting it fully deployed with auth, database, and AI all wired together is something I'm proud of. What we learned How to work with streaming AI responses in Next.js, how to structure Supabase RLS policies properly for per-user data, and honestly just how much you can ship in a short time when you stay focused. What's next for PrepAI Spaced repetition — tracking your weak areas across sessions and automatically drilling you on them. Interview scheduling so you can book a session in advance and get reminders. And eventually, a leaderboard so you can benchmark your scores against others preparing for the same roles.
Built With
- groq-(llama-3.3-70b-versatile)
- next.js-14
- supabase
- tailwind-css
- typescript
- webspeech
- zustand
Log in or sign up for Devpost to join the conversation.