I Finally Finished My AI Interview Coach (It Only Took Me Getting Rejected to Care) A developer built an AI interview coach that runs entirely in the browser with no backend, accounts, or subscriptions, requiring only a free API key. The tool conducts full mock interviews across behavioral, technical, and system design modes, asks follow-up questions, scores responses on five dimensions, and generates a study plan. The developer reduced the crash rate from ~30% to ~2% and expanded AI provider support from one to four by leveraging Copilot for boilerplate code while handling system prompts and session flow design independently. This is a submission for the GitHub Finish-Up-A-Thon Challenge An AI interview coach that runs in your browser. No backend. No accounts. No subscriptions. You bring a free API key, paste your resume and the job description, pick a mode behavioral, technical, system design, whatever , and it runs a full mock interview. Asks follow-ups, scores you on 5 dimensions, gives you a study plan at the end. I built the first version for the Gemma 4 DEV.to Challenge last month. It kinda worked. But I wouldn't have used it myself, and that bothered me. Live: hajirufai.github.io/gemma4-interview-coach https://hajirufai.github.io/gemma4-interview-coach/ Repo: github.com/hajirufai/gemma4-interview-coach https://github.com/hajirufai/gemma4-interview-coach Before After Lines of code 792 1,367 AI providers 1 4 Voice support Nope Mic + speaker Error recovery Pray Auto-retry + backoff API validation Nope Test button Default model 12B 31B Crash rate in sessions ~30% ~2% I'll be honest about where Copilot carried its weight and where I turned it off. Where it saved me real time: The Speech Recognition API has a bunch of browser-prefix nonsense webkitSpeechRecognition vs SpeechRecognition . I typed function initVoiceInput and Copilot filled in the whole setup — event handlers, interim results, confidence thresholds. I tweaked the auto-stop timing and UI hooks, but the boilerplate was right on first try. Same story with the multi-provider fetch calls. After writing the Google AI Studio integration, Copilot predicted the OpenRouter request format almost perfectly when I started the next function. Just needed to adjust a couple headers. And CSS animations — the mic pulse effect, dark mode transitions, the glass morphism stuff. Copilot's suggestions were honestly better than what I'd write by hand. It knows the modern patterns. The retry-with-backoff logic was another clean one. I typed async function callWithRetry and got exponential backoff with proper error classification retry 500s, fail fast on 401s without spelling it out. Where I ignored Copilot completely: System prompts. The interview coach personality, scoring rubric, how it gives feedback — that needed careful thinking about what makes a good mock interview. Copilot's suggestions were generic motivational speaker stuff. Not useful. Session flow decisions too. When to show the mid-session scorecard, how to handle conversation context across questions, when to auto-scroll — these need design thinking, not autocomplete. My honest take: Copilot didn't write this app. But it cut out maybe 40% of the typing on the parts where I already knew what I wanted. The activation energy to come back to an old project is the hardest part. Having Copilot handle the boring bits meant I could focus on the decisions that actually mattered. --- Try it: hajirufai.github.io/gemma4-interview-coach https://hajirufai.github.io/gemma4-interview-coach/ . All you need is a free key from Google AI Studio https://aistudio.google.com/apikey — takes 30 seconds. If you're prepping for interviews, give the voice mode a shot. Talking through answers out loud is a completely different experience than typing them. Let me know which mode you found most useful 👇