🌌 Borealis - Workflow Automation via Visual Node Graphs

Borealis is a cross-platform visual automation platform that lets you design and execute workflows using drag-and-drop "nodes" in an interactive graph. Think of it like building a flowchart that actually runs — in real-time.

Powered by a Flask backend and a React Flow frontend, Borealis is perfect for anyone looking to automate tasks, visualize data processing, or build reactive tools using a modular, extensible system.


Key Features

Feature Description
🧠 Visual Editor Intuitive graph-based UI powered by React Flow. Nodes represent data, logic, or actions.
⚙️ Dynamic Node Updates All nodes react to data changes live using a shared memory bus and global update timer.
🔗 Live Connections Connect nodes via "wires" to transmit values in real time — no refresh needed.
🖼️ On-Screen GUI Interactions Supports custom Python-based GUI prompts, like on-screen region selectors.
🔍 OCR and Vision Support Use EasyOCR and Tesseract to extract data from screenshots or webcam feeds.
🧩 Custom Node Support Easily define your own nodes using JSX — each one modular and reactive.
🚀 Cross-Platform Works on Windows, Linux, and macOS (via provided .sh and .ps1 launch scripts).

🧱 Core Components

Component Role
Flask Server Hosts API endpoints and serves the React frontend
React Flow UI Visual canvas for building and managing workflows
Python Virtual Env Encapsulates dependencies, avoids global installs
Shared Value Bus All nodes communicate via window.BorealisValueBus

Getting Started

# Windows
Set-ExecutionPolicy Unrestricted -Scope Process; .\Prerequisites-Installer-(RunAsAdmin).ps1
Set-ExecutionPolicy Unrestricted -Scope Process; .\Launch-Borealis.ps1

# Linux / macOS
bash Launch-Borealis.sh

The launch script will:

  • 🐍 Create a virtual Python environment
  • 📦 Install all required Python + JS dependencies
  • ⚛️ Build the React app
  • 🌐 Launch the Flask web server

🧠 How It Works

Borealis workflows run on live data propagation. Each node checks for incoming values (via edges) and processes them on a recurring timer (default: 200ms). This allows for highly reactive, composable logic graphs.

Reverse Proxy Configuration

If you want to run Borealis behind a reverse proxy (e.g., Traefik), you can set up the following dynamic configuration:

http:
  routers:
    borealis:
      entryPoints:
        - websecure
      tls:
        certResolver: letsencrypt
      service: borealis
      rule: "Host(`borealis.bunny-lab.io`) && PathPrefix(`/`)"
      middlewares:
        - cors-headers

  middlewares:
    cors-headers:
      headers:
        accessControlAllowOriginList:
          - "*"
        accessControlAllowMethods:
          - GET
          - POST
          - OPTIONS
        accessControlAllowHeaders:
          - Content-Type
          - Upgrade
          - Connection
        accessControlMaxAge: 100
        addVaryHeader: true

  services:
    borealis:
      loadBalancer:
        servers:
          - url: "http://192.168.3.254:5000"
        passHostHeader: true
Description
Borealis is a cross-platform visual automation platform that lets you design and execute workflows using drag-and-drop "nodes" in an interactive graph.
Readme 107 MiB
2025-04-30 05:27:50 -06:00
Languages
HTML 60.8%
JavaScript 29.7%
Python 4.2%
PowerShell 3.5%
Shell 0.9%
Other 0.9%