Skip to main content
Kunal Das

Phantom Pair - AI-Powered Coding Assistant

AI-powered coding assistant that reads coding problems from screenshots and delivers instant solutions while remaining invisible to screen recorders.

Content type:Project
Duration:

Reading time:4 min read

Phantom Pair is an AI-powered coding assistant that reads problems from screenshots and delivers instant solutions - while remaining invisible to screen recorders.

Download

Download the latest version for your platform:

Windows: phantom-pair-1.0.0-setup.exe

Linux:

๐Ÿ“œ View all releases

Key Features

  • Privacy Overlay - Invisible to screen recorders, streaming tools, and screen sharing
  • Screenshot Capture - Global hotkeys for instant problem screenshot capture
  • AI Problem Analysis - Extract coding problems from images using GPT/Gemini
  • Multi-Language Support - Generate solutions in Python, C++, Java, and more
  • Solution Generation - Optimized code with detailed explanations and complexity analysis
  • Debug Mode - Analyze error screenshots for solution improvements
  • Dual AI Providers - Switch between OpenAI GPT and Google Gemini models
  • Always-On-Top Window - Overlay interface that stays accessible during coding
  • Click-Through Mode - Toggle window interaction for seamless workflow
  • Global Shortcuts - Complete keyboard control without leaving your IDE
  • Screenshot Management - Queue system for multiple problem images
  • Automatic Cleanup - Smart file management and temporary data handling
  • Configuration Persistence - Save API keys, preferences, and window settings
  • Cross-Platform - Works on Windows, macOS, and Linux
  • Opacity Control - Adjust window transparency for optimal visibility

Project Structure

The project is organized as an Electron desktop application with a React renderer:

phantom-pair/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ main/                    # Electron main process
โ”‚   โ”‚   โ”œโ”€โ”€ index.ts             # Application entry point and window management
โ”‚   โ”‚   โ””โ”€โ”€ lib/                 # Core business logic
โ”‚   โ”‚       โ”œโ”€โ”€ config-manager.ts        # User settings and API key management
โ”‚   โ”‚       โ”œโ”€โ”€ processing-manager.ts    # AI processing orchestration
โ”‚   โ”‚       โ”œโ”€โ”€ screenshot-manager.ts    # Screenshot capture and file management
โ”‚   โ”‚       โ”œโ”€โ”€ keyboard-shortcut.ts     # Global shortcuts and window controls
โ”‚   โ”‚       โ””โ”€โ”€ ipc-handler.ts            # Inter-process communication handlers
โ”‚   โ”œโ”€โ”€ preload/                 # Secure IPC bridge
โ”‚   โ”‚   โ”œโ”€โ”€ index.ts             # Preload script for renderer communication
โ”‚   โ”‚   โ””โ”€โ”€ index.d.ts           # TypeScript definitions for exposed APIs
โ”‚   โ””โ”€โ”€ renderer/                # React frontend
โ”‚       โ”œโ”€โ”€ index.html           # HTML entry point
โ”‚       โ””โ”€โ”€ src/
โ”‚           โ”œโ”€โ”€ App.tsx           # Root React component
โ”‚           โ”œโ”€โ”€ main.tsx          # React DOM render entry
โ”‚           โ”œโ”€โ”€ components/       # UI components
โ”‚           โ”‚   โ”œโ”€โ”€ main-app.tsx          # Primary application interface
โ”‚           โ”‚   โ”œโ”€โ”€ screenshots-view.tsx  # Screenshot management UI
โ”‚           โ”‚   โ”œโ”€โ”€ settings-dialog.tsx   # Configuration interface
โ”‚           โ”‚   โ”œโ”€โ”€ solutions.tsx         # AI solution display
โ”‚           โ”‚   โ””โ”€โ”€ welcome-screen.tsx    # Initial setup screen
โ”‚           โ”œโ”€โ”€ providers/        # React context providers
โ”‚           โ”‚   โ”œโ”€โ”€ query-provider.tsx    # TanStack Query setup
โ”‚           โ”‚   โ”œโ”€โ”€ toast-context.tsx     # Toast notification context
โ”‚           โ”‚   โ””โ”€โ”€ toast-provider.tsx    # Toast provider implementation
โ”‚           โ”œโ”€โ”€ lib/              # Shared utilities and types
โ”‚           โ”‚   โ”œโ”€โ”€ types.ts      # TypeScript type definitions
โ”‚           โ”‚   โ”œโ”€โ”€ utils.ts      # Utility functions
โ”‚           โ”‚   โ””โ”€โ”€ languages.ts  # Programming language configurations
โ”‚           โ””โ”€โ”€ assets/           # Static assets (CSS, images)

How To Use

To clone and run this application, you'll need Git and Node.js (which comes with npm) installed on your computer.

  1. Clone the repository

    git clone https://github.com/kunaldasx/phantom-pair
    cd phantom-pair
  2. Install dependencies

    npm install
  3. Start the development application

    npm run dev

Development Commands

# Install dependencies
npm install
 
# Development mode with hot reload
npm run dev
 
# Build the application
npm run build

Platform-Specific Builds

# Windows build
npm run build:win
 
# macOS build
npm run build:mac
 
# Linux build
npm run build:linux
 
# Build without packaging (for testing)
npm run build:unpack

How to Contribute

  1. Clone the repository and create a new branch:

    git checkout -b name_for_new_branch
  2. Make your changes and test them.

  3. Submit a Pull Request with a comprehensive description of your changes.

Emailware

Phantom Pair is an emailware. If you liked using this app or it has helped you in any way, I'd like you to send me an email at kunaldasx@gmail.com about anything you'd want to say about this software. I'd really appreciate it!

Technologies

This software uses the following technologies:

  • Electron 35.0.0 - Cross-platform desktop application framework
  • Node.js - Server-side JavaScript runtime for the main process
  • Electron Vite 3.1.0 - Modern build tooling with HMR support
  • React 19.1.0 - UI library with modern hooks and concurrent features
  • TypeScript 5.8.3 - Static typing for JavaScript
  • TailwindCSS 4.1.4 - Utility-first CSS framework
  • Radix UI - Accessible component primitives for dialogs and toasts
  • TanStack Query 5.74.4 - Server state management and caching
  • Framer Motion 12.23.12 - Animation library
  • React Syntax Highlighter - Code syntax highlighting

License

MIT


๐ŸŒ Visit my website โ†’
๐Ÿ–ฅ๏ธ GitHub ย ยทย 
๐Ÿ’ผ LinkedIn ย ยทย 
๐Ÿฆ Twitter / X ย ยทย