Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ibttf/interview-coder
An open-source invisible desktop application to help you pass your technical interviews.
https://github.com/ibttf/interview-coder
electron gpt openai typescript
Last synced: 4 days ago
JSON representation
An open-source invisible desktop application to help you pass your technical interviews.
- Host: GitHub
- URL: https://github.com/ibttf/interview-coder
- Owner: ibttf
- Created: 2024-11-17T21:31:17.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-02-04T18:45:11.000Z (6 days ago)
- Last Synced: 2025-02-04T19:19:41.938Z (6 days ago)
- Topics: electron, gpt, openai, typescript
- Language: TypeScript
- Homepage:
- Size: 3.18 MB
- Stars: 965
- Watchers: 9
- Forks: 143
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-ChatGPT-repositories - interview-coder - An open-source invisible desktop application to help you pass your technical interviews. (Openai)
README
# Interview Coder
An invisible desktop application that will help you pass your technical interviews.
https://github.com/user-attachments/assets/0615b110-2670-4b0e-bc69-3c32a2d8a996
## Invisibility Compatibility
The application is invisible to:
- Zoom versions below 6.1.6 (inclusive)
- All browser-based screen recording software
- All versions of Discord
- Mac OS _screenshot_ functionality (Command + Shift + 3/4)Note: The application is **NOT** invisible to:
- Zoom versions 6.1.6 and above
- https://zoom.en.uptodown.com/mac/versions (link to downgrade Zoom if needed)
- Mac OS native screen _recording_ (Command + Shift + 5)## Features
- 🎯 99% Invisibility: Undetectable window that bypasses most screen capture methods
- 📸 Smart Screenshot Capture: Capture both question text and code separately for better analysis
- 🤖 AI-Powered Analysis: Automatically extracts and analyzes coding problems
- 💡 Solution Generation: Get detailed explanations and solutions
- 🔧 Real-time Debugging: Debug your code with AI assistance
- 🎨 Window Management: Freely move and position the window anywhere on screen## Global Commands
The application uses unidentifiable global keyboard shortcuts that won't be detected by browsers or other applications:
- Toggle Window Visibility: [Control or Cmd + b]
- Move Window: [Control or Cmd + arrows]
- Take Screenshot: [Control or Cmd + H]
- Process Screenshots: [Control or Cmd + Enter]
- Reset View: [Control or Cmd + R]
- Quit: [Control or Cmd + Q]## Usage
1. **Initial Setup**
- Launch the invisible window
- Login and subscribe2. **Capturing Problem**
- Use global shortcut [Control or Cmd + H] to take screenshots
- Screenshots are automatically added to the queue of up to 5.3. **Processing**
- AI analyzes the screenshots to extract:
- Problem requirements
- Code context
- System generates optimal solution strategy4. **Solution & Debugging**
- View generated solutions
- Use debugging feature to:
- Test different approaches
- Fix errors in your code
- Get line-by-line explanations
- Toggle between solutions and queue views5. **Window Management**
- Move window freely using global shortcut
- Toggle visibility as needed
- Window remains invisible to specified applications
- Reset view using Command + R## Prerequisites
- Node.js (v16 or higher)
- npm or bun package manager
- Subscription on https://www.interviewcoder.co/settings
- Screen Recording Permission for Terminal/IDE
- On macOS:
1. Go to System Preferences > Security & Privacy > Privacy > Screen Recording
2. Ensure that Interview Coder has screen recording permission enabled
3. Restart Interview Coder after enabling permissions
- On Windows:
- No additional permissions needed
- On Linux:
- May require `xhost` access depending on your distribution## Installation
1. Clone the repository:
```bash
git clone https://github.com/ibttf/interview-coder-v1.git
cd interview-coder-v1
```2. Install dependencies:
```bash
npm install
# or if using bun
bun install
```## Running Locally
1. Start the development server:
```bash
npm run dev
```This will:
- Start the Vite development server
- Launch the Electron application
- Enable hot-reloading for development## Tech Stack
- Electron
- React
- TypeScript
- Vite
- Tailwind CSS
- Radix UI Components
- OpenAI API## Configuration
1. On first launch, you'll need to provide your OpenAI API key
2. The application will store your settings locally using electron-store## Building (for Roy)
after npm run build, hit:
```
node scripts/manual-notarize.js "release/Interview-Coder-x64.dmg" && xcrun stapler staple "release/Interview-Coder-x64.dmg"
node scripts/manual-notarize.js "release/Interview-Coder-arm64.dmg" && xcrun stapler staple "release/Interview-Coder-arm64.dmg"
```## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.