Coding Helper is an Electron-based desktop assistant that helps you solve coding problems by taking screenshots of problem descriptions and generating solutions using OpenAI's GPT models. It features a floating, always-on-top window with keyboard shortcuts for quick access, screenshot management, and solution rendering.
This is a fun, personal project intended to help you learn and experiment with coding problems. Using this tool during interviews or assessments is at your own risk. Please respect the rules and integrity of any platform or process you participate in.
Here is the link to the app demo. We hope you enjoy it.
- Floating Window: Minimal, draggable overlay that stays on top of other windows.
- Quick Screenshots: Capture up to 5 screenshots of coding problems using keyboard shortcuts.
- OpenAI Integration: Sends screenshots to OpenAI GPT-4.1-mini for problem analysis and solution generation.
- Language Selection: Choose your preferred programming language (Python, JavaScript, Java) for solutions.
- API Key Management: Set and store your OpenAI API key.
- Tooltip & Settings: Access shortcuts, language selection, and API key input via a tooltip window.
- Window Controls: Move, show/hide, and reset the helper using keyboard shortcuts.
- Node.js (v16 or higher recommended)
- npm
- OpenAI API Key
-
Clone the repository:
git clone https://github.com/yourusername/coding-helper.git cd coding-helper
-
open terminal/command prompt
-
Install dependencies:
npm install
-
Start the app:
npm start
-
Set your OpenAI API Key:
- Click the ⚙️ gear icon or use the tooltip window to enter your API key.
-
Capture the problem:
- Open Leetcode problem.
- Capture up to 5 screenshots of coding problems using keyboard shortcut ⌘ + H (Mac) or Ctrl + H (Windows/Linux).
-
Generate Solution:
- Process ⌘ + Enter to generate solution.
- Take Screenshot: ⌘ + H (Mac) or Ctrl + H (Windows/Linux)
- Clear Screenshots: ⌘ + W
- Show/Hide Tooltip: ⌘ + ,
- Move Window: ⌘ + Arrow Keys
- Show/Hide Windows: ⌘ + B
- Send to OpenAI: ⌘ + Enter
.
├── index.html
├── main.js
├── preload.js
├── renderer.js
├── solution-render.js
├── solution.html
├── tooltip-render.js
├── tooltip.html
├── package.json
├── .gitignore
├── screenshots/
└── .vscode/
- Your OpenAI API key is only stored locally and never shared.
- The app uses Electron's
contextIsolation
and disablesnodeIntegration
for renderer security.
MIT
Author: Vinay Duvvada