Skip to content

billyowo/interview_helper

Repository files navigation

About Interview Helper (Written in Rust ⚡)

This is a Rust-based application demonstrating advanced system interaction capabilities. It's designed to illustrate how applications can create subtle overlays and interact with other software environments at a low level. The project focuses on:

  • System-level programming in Rust: Exploring Rust's capabilities for interacting with the operating system.
  • Overlay rendering: Techniques for drawing content over other applications without direct integration.
  • Process interaction: Understanding how to monitor and interact with running processes.

Features

  • Undetectable Overlay Mechanism: Leverages sophisticated rendering techniques, facilitated by Tauri, to create a seamless, always-on-top transparent window that doesn't interfere with your workflow. This includes demonstration of undetection mechanisms for educational exploration of system interaction and process hiding techniques.
  • Global Hotkey Control (Keyboard shortcuts!): Provides system-wide keyboard shortcuts that function regardless of the active application, allowing for instant access, flexible window positioning (e.g., corners, center), and seamless content generation without disrupting your current workflow.
  • AI-Powered Generation: Integrates with Google's Gemini AI to intelligently process content, including automatic screen captures initiated by a hotkey. This enables instant code analysis, suggestions, explanations, problem-solving assistance, and general text analysis tailored to your specific needs.
  • Customizable AI Prompts: Configure and manage your own prompts to tailor AI responses for specific use cases, from detailed debugging and code explanations to general analysis and idea generation. Perfect for adapting the tool to your unique workflow requirements.
  • Real-time Markdown Rendering: View AI-generated responses with proper formatting, code highlighting, and structured output for enhanced readability directly within the overlay. Supports syntax highlighting for multiple programming languages and proper code block formatting.
  • Blazing Fast: Rust ⚡ Tauri
  • Cross-Platform Compatibility: Built with the Tauri framework, ensuring native performance and broad compatibility across Windows, macOS, and Linux systems. Experience consistent functionality regardless of your operating system preference.
  • Minimal Resource Usage: Engineered with a lightweight Rust backend to ensure efficient system resource utilization, maintaining responsive performance without impacting your system's speed or stability. Designed to run quietly in the background until needed.

Download

You can download the latest release from the Releases page.

The app will be named process_manager.exe on Windows, and process_manager on macOS.

Find your installed executable, and create a .env file in the same directory as the executable. This file should contain your Gemini API key for the application to function correctly.

GEMINI_API_KEY=your_api_key_here

On windows, you can usually find the executable in C:\Users\...\AppData\Local\processmanager\process_manager.exe. On macOS, it will be located in ~/Library/Application Support/processmanager/process_manager.

Building and Running

Prerequisites

  • Rust toolchain (nightly)
  • Bun / Node.js (for Tauri's frontend tooling)
  • A Gemini API key set as an environment variable (e.g., GEMINI_API_KEY=YOUR_API_KEY).
  • Additional system dependencies for Tauri as per their official documentation (e.g., WebView2 runtime on Windows, webkit2gtk on Linux).

Steps

  1. Clone the repository

    git clone <repository-url>
    cd process_manager
  2. Set up environment variables

    • Create a .env file in the src-tauri directory
    • Add your Gemini API key:
      GEMINI_API_KEY=your_api_key_here
      
  3. Install frontend dependencies

    bun install
    # or
    npm install
  4. Install Rust dependencies and build

    cd src-tauri
    cargo build
    cd ..
  5. Run in development mode

    bun run tauri dev
    # or
    npm run tauri dev
  6. Build for production

    bun run tauri build
    # or
    npm run tauri build

Usage

Keyboard Shortcuts

  • Ctrl+Shift+1: Move window to top-left corner
  • Ctrl+Shift+2: Move window to center of screen
  • Ctrl+Shift+3: Move window to bottom-right corner
  • Ctrl+Shift+G: Capture full screen and send to Gemini AI

Interface

  • Prompt Area: Enter your custom prompt for the AI (defaults to code generation prompt)
  • Ask Button: Manually trigger screenshot capture and AI analysis
  • Clear Button: Clear the response area
  • Response Area: View AI-generated responses in markdown format

Technical Architecture

This application is built using:

  • Frontend: React + TypeScript + Tailwind CSS
  • Backend: Rust with Tauri framework
  • AI Integration: Google Gemini API via the genai crate
  • Screen Capture: screenshots crate for cross-platform screen capture
  • Global Shortcuts: Tauri's global shortcut plugin

The app creates a transparent, always-on-top overlay window that can capture screenshots and send them to the Gemini AI for analysis, particularly useful for coding problem assistance.

Configuration

The application can be configured through:

Acknowledgements

This software is built solely for educational purposes as a technical exercise. It showcases the development of sophisticated applications and an understanding of system interactions, particularly in the realm of application overlays and system processes.

The developer of this software does not condone or support its use for dishonest purposes and is not responsible for any misuse.