TL;DR: You can try it for FREE by downloading the app under Releases and using your Google Gemini API key.
If you don't trust the app (which you should), you're welcome to clone the repository and run it yourself!
I forked this to bring a fair game for everyone. Companies need to change how they do technical interviews.
- Initial Setup: Launch the discreet window
- Configuration: Use
Ctrl + Shift + I/Cmd + Shift + Ito open the settings menu. Enter your API key and select your preferred AI model for problem extraction and solution generation. - Problem Capture: Use
Ctrl + H/Cmd + Hto take screenshots of coding problems. - AI-Powered Processing: Press
Ctrl + Enter/Cmd + Enterto send the screenshots for analysis. The AI extracts the problem details, then generates an optimal solution, all using your personal API key. - Solution: Review the generated solutions with detailed explanations.
- Window Management: Move the window using
Ctrl + Arrow keys/Cmd + Arrow keys, toggle its visibility withCtrl + B/Cmd + B, and adjust the opacity withCtrl + [/Cmd + [andCtrl + ]/Cmd + ]. The window remains hidden from the specified screen sharing applications. Start a new problem session withCtrl + R/Cmd + R.
- π― Stealth Mode: An almost invisible window that bypasses most screen capture methods.
- πΈ Smart Capture: Separate capture of problem text and code for better AI analysis.
- π€ AI Brainpower: Automatic problem extraction and analysis using GPT-4o.
- π‘ Solution Insights: Detailed solutions with time and space complexity analysis.
- π§ Intelligent Debugging: AI assistance with structured feedback for your code.
- π¨ Flexible Window: Move, resize, adjust opacity, and zoom as needed.
- π AI Model Options: Choose between OpenAI's models or Google Gemini's models for different task.
- π Privacy First: Your API key and data stay local, except for direct calls to OpenAI or Google Gemini.
These unobtrusive keyboard commands won't clash with other applications:
- Start New Problem:
Ctrl + RorCmd + R - Open Settings:
Ctrl + Shift + IorCmd + Shift + I - Take Screenshot:
Ctrl + HorCmd + H - Process Screenshots:
Ctrl + EnterorCmd + Enter - Toggle Visibility:
Ctrl + BorCmd + B - Move Window:
Ctrl + Arrow keysorCmd + Arrow keys - Decrease Opacity:
Ctrl + [orCmd + [ - Increase Opacity:
Ctrl + ]orCmd + ] - Quit:
Ctrl + QorCmd + Q
Hidden From:
- Zoom versions older than 6.1.6.
- All browser-based screen recording software.
- All versions of Discord.
- macOS screenshot (Command + Shift + 3/4).
Visible To:
- Zoom versions 6.1.6 and above (downgrade if necessary: https://zoom.en.uptodown.com/mac/versions).
- macOS screen recording (Command + Shift + 5).
Before you begin, ensure you have:
- Node.js (v16 or higher) installed on your system.
- npm package manager.
- An active OpenAI API Key or Google Gemini API Key.
- Screen Recording Permission enabled for your Terminal/IDE:
- macOS: Go to System Preferences > Security & Privacy > Privacy > Screen Recording, find Open Interview Coder, and ensure it's checked. Restart the app after enabling.
- Windows: No additional permissions are required.
- Linux: Depending on your distribution, you might need to grant
xhostaccess.
- Clone the repository:
git clone https://github.com/xhoantran/open-interview-coder.git cd open-interview-coder - Install the necessary dependencies:
npm install
To start the application in a development environment:
npm run startTo create distributable packages for your local platform:
npm run packageThis command will package the application for your current operating system.
To create installable packages for macOS (DMG) or Windows (Installer):
For macOS (DMG):
npm run package-mac
# Or using yarn
yarn package-macFor Windows (Installer):
npm run package-win
# Or using yarn
yarn package-winThe resulting packaged applications will be located in the release directory.
- Window Manager Conflicts: Some window management utilities (like Rectangle Pro on macOS) might interfere with the app's window positioning. Consider temporarily disabling them if you encounter issues.
- OpenAI API Usage: Be mindful of your OpenAI API key's rate limits and the costs associated with different API calls, especially Vision API calls which are more expensive.
- Custom LLM Integration: You can explore integrating other Large Language Models (LLMs) such as Claude, Deepseek, or Grok by modifying the API calls within
/src/main/processor. - Common Issues and Solutions:
- If the application window doesn't appear, try toggling its visibility multiple times using
Ctrl+B/Cmd+B. - Adjust the window's opacity using
Ctrl+[/Cmd+[andCtrl+]/Cmd+]if it seems invisible.
- If the application window doesn't appear, try toggling its visibility multiple times using
| Feature | Premium Tools (Paid) | Open Interview Coder (This Project) |
|---|---|---|
| Price | $60+/month | Free (pay only for your API usage) |
| Solution Generation | β | β |
| Debugging Assistance | β | β |
| Invisibility | β | β |
| Multi-language Support | β | β (extensible) |
| Time/Space Complexity Analysis | β | β |
| Window Management | β | β |
| Auth System | Required | None (simplified) |
| Payment Processing | Required | None (use your own API key) |
| Privacy | Server-processed | 100% Local Processing |
| Customization | Limited | Full Source Code Access |
| Model Selection | Limited | Choice Between Models |
- Electron
- React
- TypeScript
- Tailwind CSS
- Radix UI Components
- OpenAI API
- Google Gemini API
Open Interview Coder is built with extensibility in mind. You can easily add support for more LLMs beyond the default OpenAI and Google Gemini integration:
- Integrate models like Claude, Deepseek, Grok, or any other AI with an accessible API.
- The application's architecture is designed to accommodate multiple LLM backends simultaneously.
- Users gain the flexibility to choose their preferred AI provider for different tasks.
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
- You have the freedom to use, modify, and distribute this software.
- If you make any modifications to the code, you are required to make your changes available under the same license.
- If you run a modified version of this software on a network server, you must make the source code available to its users.
- We strongly encourage you to contribute any improvements you make back to the main project for the benefit of the community.
For a summary of the license terms, see the LICENSE-SHORT file, or visit GNU AGPL-3.0 for the complete license text.
We warmly welcome contributions from the community! Please refer to our Contributing Guidelines for detailed information on how you can get involved.
Use at your own risk. I do not use this in actual interviews and do not recommend doing so.
If you have any questions, require support, or encounter issues, please do not hesitate to open a new issue on the GitHub repository.