README.md

April 12, 2025 ยท View on GitHub

Probly Logo

Probly

Data analysis with spreadsheets made simple

Discord License

What is Probly?

Probly is a next-generation spreadsheet application that combines the power of traditional spreadsheets with AI-driven analysis, Python computation, and intelligent document processing.

Key Features

  • Smart Spreadsheet: Full-featured spreadsheet with formula support and intelligent cell suggestions
  • Python Integration: Run Python code directly in your browser using WebAssembly
  • Data Visualization: Create interactive charts and visualizations
  • AI-Powered Analysis: Get intelligent insights and automated trend analysis
  • Document Processing: Extract and process data from images.
  • Prompt Library: Access predefined analysis templates and save custom prompts

Probly Spreadsheet Example

๐Ÿ—๏ธ Architecture

Probly leverages a modern, privacy-focused architecture:

graph LR
    A[Browser] --> B[Next.js Frontend]
    B --> C[Pyodide/WASM]
    B --> D[OpenAI API]
    B --> E[Vision API]
    C --> F[Local Processing]
    D --> G[AI Analysis]
    E --> H[Document Processing]
  • Frontend: Next.js 14 with TypeScript and React
  • Python Runtime: Pyodide (WebAssembly) for local execution
  • AI Integration: OpenAI API for intelligent analysis
  • Document Processing: Vision API for extracting data from documents

Features

  • Interactive Spreadsheet: Full-featured spreadsheet with formula support
  • Python Analysis: Run Python code directly in your browser using WebAssembly
  • Data Visualization: Create charts and visualizations from your data
  • AI-Powered: Get intelligent suggestions and automated analysis
  • Prompt Library: Access predefined prompts or save your own for quick reuse

Architecture

Probly uses a modern architecture:

  • Frontend: Next.js application that runs in the browser
  • Python Execution: Pyodide (Python compiled to WebAssembly) runs entirely in the browser
  • LLM Integration: OpenAI API calls are proxied through the server

This design means that data analysis happens locally in your browser, providing better performance and privacy.

Requirements

  • Node.js 18 or higher
  • npm or yarn
  • A modern web browser (Chrome, Firefox, Edge, or Safari)
  • OpenAI API key

๐Ÿš€ Quick Start with Docker

The fastest way to get started with Probly:

  1. ๐Ÿ“ฅ Clone the repository:

    git clone https://github.com/PragmaticMachineLearning/probly.git
    cd probly
    
  2. ๐Ÿ”‘ Create a .env file with your OpenAI API key:

    OPENAI_API_KEY=your_api_key_here
    
  3. ๐Ÿณ Build and start with Docker:

    docker compose build
    docker compose up -d
    
  4. ๐ŸŒ Access Probly at http://localhost:3000

๐Ÿ’ป Manual Installation

Prefer running without Docker? Here's how:

  1. ๐Ÿ“ฅ Clone the repository:

    git clone https://github.com/PragmaticMachineLearning/probly.git
    cd probly
    
  2. ๐Ÿ“ฆ Install dependencies:

    npm install
    
  3. ๐Ÿ”‘ Set up your environment:

    OPENAI_API_KEY=your_api_key_here
    
  4. ๐Ÿš€ Start development server:

    npm run dev
    

๐ŸŽฏ Using Probly

  1. ๐ŸŒ Launch the application in your browser
  2. ๐Ÿ“ค Import your data or start with a blank sheet
  3. ๐Ÿค– Access AI features with keyboard shortcuts:
    • Windows/Linux: Ctrl+Shift+?
    • Mac: โŒ˜+Shift+?
  4. ๐Ÿ“š Use the prompt library for quick analysis
  5. ๐Ÿ“„ Upload documents for automatic data extraction
  6. ๐Ÿ’ฌ Ask questions about your data in natural language

โŒจ๏ธ Keyboard Shortcuts

ActionWindows/LinuxMac
AI ChatCtrl+Shift+?โŒ˜+Shift+?
Prompt LibraryCtrl+Shift+LโŒ˜+Shift+L

๐Ÿ› ๏ธ Tech Stack

  • Frontend: Next.js 14, TypeScript, React
  • Spreadsheet: Handsontable, HyperFormula
  • Python: Pyodide (WebAssembly)
  • AI: OpenAI API (GPT-4, Vision API)
  • Visualization: ECharts

๐Ÿ“š Documentation

For detailed documentation, visit our Probly Documentation.

๐Ÿ‘ฅ Community

Join our Discord community to:

  • ๐Ÿ’ก Share ideas and get help
  • ๐ŸŽ‰ Stay updated on new features
  • ๐Ÿ‘ฅ Connect with other users
  • ๐Ÿค Contribute to development

๐Ÿ“„ License

MIT License - Feel free to use and modify!