DEV Community

Cover image for How I built an Interview Overlay using Electron + React + Gemini Flash
Carlos Souza
Carlos Souza

Posted on

How I built an Interview Overlay using Electron + React + Gemini Flash

Technical interviews are stressful. I wanted to build a "copilot" that could listen to my interviews and flash relevant talking points from my own resume in real-time, without covering my entire screen. Here is how I built InterviewHUD using the modern web stack.

The Challenge: The "Always On Top" Overlay The biggest hurdle was creating a transparent window that stays on top of Zoom/Teams but lets you click through it (so you can still interact with the meeting). In Electron, setting transparent: true and alwaysOnTop: true gets you halfway there. But managing the "click-through" behavior required toggling win.setIgnoreMouseEvents(true) dynamically based on user interaction.

The Brain: Gemini 2.0 Flash I needed speed. The older models had 3-5s latency—too slow for a conversation. Gemini 2.0 Flash via WebSocket brought this down to <2s. I implemented a RAG (Retrieval-Augmented Generation) pipeline entirely on the client-side. The app parses the user's Resume, chunks it, and when a question comes in, it finds the relevant "story" to tell.

Privacy Architecture (BYOK) I didn't want to store anyone's audio. I built it as a "Bring Your Own Key" app. The audio stream goes from the user's local machine directly to Google's API. No middleman server.

Conclusion It started as a tool to help me not "blank out" due to anxiety, and now it's a full product. If you are curious, I wrote this in TypeScript/React.

PS: If you want to try it for your next interview, I'm running a launch promo ($39) at interviewhud.com.

Top comments (0)