Rheosoph/flow-like

Flow-Like: Strongly Typed Enterprise Scale Workflows. Built for scalability, speed, seamless AI integration and rich customization.

Rust

962

2,411 commits

updated Oct 14, 2026

See the code

README

Flow-Like

Flow-Like

Build the software your business runs on.
A self-hostable development platform for apps, automation, data, and AI.

Star Flow-Like on GitHub Source-available under BSL 1.1 Documentation Discord

Download Studio · First workflow · Nodes & packages · Try online · Self-host · Documentation


Turn the systems you already have into software your team can use. Build interfaces around connected data, then reuse the operations behind them through APIs, schedules, and agents.

Build with 1,900+ built-in nodes, typed building blocks for your workflows. Packages add reusable custom nodes and interface widgets across projects.

Built for developers and technical teams, Flow-Like keeps interfaces, workflows, and data together as an application grows. Studio, the desktop app, runs work locally. A shared backend supports team projects, while device services run near your files, internal networks, and equipment.

Flow-Like's visual frontend builder showing a monitoring page, a component catalog, and a button configured to trigger a workflow.

Build the interface and connect its actions to workflows. Shown here: a monitoring page in the visual frontend builder. Click any image for the full-size view.

Try it locally

Download Studio and run your first workflow without an account, API key, or AI model. Available for macOS, Windows, and Linux.

Local setup and first run
  1. Open Studio, choose a starter Profile during onboarding, then enable Developer Mode in Settings. Any onboarding model downloads can continue in the background; this workflow does not use them.
  2. Open My Apps → Create Flow (or Create Your First App in an empty library). Choose Offline - Local only, enter Hello Flow as the Project Name, and select Create Project.
  3. Right-click the canvas to find and add Simple Event and Print Info. Reuse an existing Simple Event if present. Connect its execution output to Print Info's Input, set Message to Hello Flow, and enable On Screen?.
  4. Select Execute locally beside the event and confirm any run dialog. Look for the Hello Flow notification, then open Runs, select the new run, and inspect Logs.

The log entry should show Hello Flow and identify Print Info as its source. The first-workflow guide includes screenshots and troubleshooting.

Prefer the browser? Open the web app with an online account and an available execution server. To work on Flow-Like itself, build from source.

1,900+ nodes and reusable packages

The node catalog covers SQL and databases, APIs, documents, media, UI, desktop automation, AI, and machine learning. Each node reference shows its inputs and outputs, so you can check the operation you need before building around it. Available nodes depend on the execution environment and enabled integrations.

Package your own capabilities for others to use. A package can bundle custom nodes and UI widgets together. Explore packages, inspect their nodes and permissions, then install and link a version to an App, your Flow-Like project. Use the package workspace to develop, test, and publish your own. Each App records its package dependencies and versions.

Flow-Like's package browser showing Code Interpreter, Typst Documents, PDF Tools, YouTube Tools, and other extensions with versions and requested permissions.

Discover packages for code execution, documents, media, and more. Review their versions and requested permissions before installing.

The Sales Insights example combines Rust WebAssembly nodes with a React chart and filter panel in one package. Its guide shows how to build it and wire widget events to workflows that update the chart.

Build your own nodes and widgets

Add a native Rust node to the built-in catalog, or create a package with the WebAssembly templates for fifteen source languages. WebAssembly extensions are in beta; host API support varies by language and template maturity.

Bring a custom interface through package widgets. Start with the TypeScript counter tutorial, which includes a browser preview and input, event, and query inspection. Framework templates are available for React, Vue, Svelte, and other supported options.

What you can build

Consider an order desk: look up a customer, check stock through an API, show exceptions for an operator to review, and submit the approved order. A scheduled job or an assistant can reuse the underlying operation.

BuildConnect the piecesStart here
An operations consoleCombine dashboards, forms, and record views with workflows that update the systems behind them.Internal tools
A data explorer with actionsQuery files and databases with SQL, map records to business objects, and run operations on selected objects.Data pipelines · Knowledge graphs
Document intake and reviewExtract information from PDFs and spreadsheets, validate fields, and send exceptions to a review interface.Document processing
An assistant that can actRetrieve knowledge, call tools, and return results through chat or an application using configured local or hosted models.AI and agents
A predictive applicationPrepare datasets, train and evaluate models, then use their predictions in a workflow or interface.Data science
Equipment and desktop automationRead equipment through OPC UA, Modbus, or MQTT; automate browser and desktop tasks on a compatible machine.Industrial protocols · Desktop automation

Hardware access and model execution depend on the selected runtime, installed dependencies, and configured providers; the guides cover those requirements.

See a ported application: God's Eye View

God's Eye View ported to Flow-Like, showing aircraft on a map, source controls, a selected aircraft's details, and a workflow input.

God's Eye View, ported to Flow-Like: a spatial interface with map layers, aircraft details, and workflow controls.

How the platform fits together

Flow-Like connects databases, APIs, files, and devices to a shared platform for applications, automation, data analysis, and AI, then delivers team tools, APIs, and automated processes.

Built for developers

Flow-Like combines a Rust execution engine with a Tauri desktop client and a TypeScript/React interface. An App is the project that holds its workflows, pages, data, and access settings. The repository map shows where these parts live.

  • Reuse an operation across interfaces. An App Event is a configured entry point into a workflow. Pages, APIs, schedules, and chats can call reusable logic through the entry points they support.
  • Follow a result back to its source. Typed inputs and outputs make connections explicit. Run logs identify the nodes that produced them; version-pinned entry points let you keep a published workflow in use while you edit the next draft.
  • Use your own code where it matters. Add native Rust nodes, WebAssembly packages, or custom interface widgets. Call the platform from existing applications through the TypeScript and Python SDKs.
  • Run where the work is. Use local execution for device access, a shared backend for team applications, or device services that keep running after Studio closes. A run stays in one environment; offline work requires local dependencies.
See execution analytics

Flow-Like execution analytics showing run volume, users, successful and failed executions, response times, AI spend, and estimated runtime costs.

Inspect execution volume, failures, latency, AI spend, and estimated runtime costs.

Edit the same workflow visually or in text

A Flow is an executable workflow. Its canvas and FlowScript, the typed text form, edit the same saved graph, called a Board. Use the canvas to follow a branch; use text for broad edits and code review. FlowPilot can help create and edit workflows, interfaces, and data from a conversation.

Flow-Like's workflow canvas showing connected typed nodes beside the FlowScript text editor.

Edit workflow logic on the canvas or in FlowScript.

See the full Studio workspace

Flow-Like Studio with a workflow canvas beside its FlowScript editor, project assets on the left, and recorded runs below.

The workflow canvas and FlowScript editor share a workspace with project assets and recorded runs.

Walk through a FlowScript example

This entry receives an incident report and chooses the log path:

use log::*

eventsGeneric triageIncident(payload: Struct, report: string) {
    const normalized = report.trim()
    if (normalized.contains({ substring: "production is on hold", ignoreCase: true })) {
        error({ message: normalized, toast: false })
    } else {
        info({ message: normalized, toast: false })
    }
}

The incident triage workflow rendered as Generic Event, Trim String, Contains, Branch, Log Error, and Print Info nodes.

The image is generated from the checked-in example with the real reconciler and Studio auto-layout. When you apply a text edit, Studio checks it against the node catalog and updates the Board. The Rust runtime executes that Board.

Read FlowBook for worked examples and current round-trip boundaries.

Run it your way

Use Studio on your own machine or host a shared backend for your team. The maintained self-hosting paths are Docker Compose and Kubernetes.

To share a local project, create an online copy and configure its credentials and execution settings. Online Apps provide web access and team roles; local-only Apps remain on the device.

The Compose stack includes the browser app, API, execution manager, disposable gVisor sandboxes, and supporting services. PostgreSQL, Redis, and RustFS object storage are bundled. Studio can connect to that backend.

High-level Docker Compose deployment on a Linux host, with browser and Studio access, API services, an execution manager and disposable gVisor sandboxes, supporting services, and bundled PostgreSQL, Redis, and RustFS storage.

Docker Compose setup

Complete the Linux, Docker, and gVisor prerequisites first. For a new installation:

git clone --branch dev https://github.com/Rheosoph/flow-like.git
cd flow-like/apps/backend/docker-compose
python3 scripts/setup-env.py
cp flow-like.config.example.json flow-like.config.json

Replace the OIDC and domain placeholders in flow-like.config.json, and set FLOW_LIKE_RUNTIME_CONFIG_FILE=./flow-like.config.json in .env. The setup script generates signing keys and service credentials. Then pin the published images and start the stack:

python3 scripts/pull-images.py
python3 scripts/preflight.py
python3 scripts/up.py
docker compose ps --all

The default per-run isolation mode requires immutable image references, so image pinning is required on this path. Long-running services should become healthy; initialization services should exit successfully. Follow the installation guide for identity configuration, readiness checks, public hosting, and upgrades. The optional monitoring profile adds Prometheus, Grafana, Tempo, and exporters.

The Compose directory contains the service definitions, configuration examples, and scripts. To build unpublished code, use scripts/prepare-images.py and scripts/up.py --build as described in the guide.

Kubernetes and execution boundaries

The Helm chart deploys the backend across a cluster. Use the Kubernetes installation guide for gVisor and Cilium prerequisites, image digest pinning, and configuration. Backend directories also contain AWS, Azure, and GCP deployment work; check each target's status before relying on it.

An App Event selects a Flow entry, version, and Local or Remote execution. A single run stays in one environment. Pre-run analysis reports required runtime values, OAuth access, WebAssembly permissions, and local-only nodes, including those inside nested layers. The current dispatcher does not yet reject every incompatible remote selection from the aggregate local-only flag. Device-local secret values stay outside the Board and remote payloads.

Build from source

Install Git, mise, Tauri 2 system dependencies, protoc, and a C/C++ toolchain. Then run:

git clone --branch dev https://github.com/Rheosoph/flow-like.git
cd flow-like
mise trust
mise install
bun install
cp apps/desktop/.env.example apps/desktop/.env
mise run dev:desktop

mise install supplies the toolchain in mise.toml, and dev:desktop detects your platform and starts Studio. Use mise tasks to list development commands, or read the build guide for the full setup.

Repository map

Flow-Like is a Rust and TypeScript monorepo. Bun manages the JavaScript workspace, Tauri hosts the desktop client, and the runtime and core application model live in Rust.

AreaStart here
Studio desktop applicationapps/desktop
Browser applicationapps/web
Interface builder and workflow editorspackages/ui
Runtime and executionpackages/core, packages/executor
Built-in capabilities and integrationspackages/catalog
FlowScript model, parser, and rendererpackages/ast
FlowScript reconciliationpackages/core/editor/src/flow/ast
Self-hosting and deploymentapps/backend

Ask DeepWiki

Help shape the project

We want the next useful tool to build on the last: reuse its data, share an operation, or add an interface for another team. If that is software you want to help build, give Flow-Like a star and follow its development. Try it on a real task, tell us where it falls short, or contribute the integration you need.

  • Find a good first issue, improve a guide, or share an example.
  • Open pull requests against dev and run the checks relevant to your change.
  • Discuss ideas in GitHub Discussions or meet other builders on Discord.
Flow-Like contributors

License

Flow-Like is source-available under the Business Source License 1.1. The Additional Use Grant permits use that does not compete with Flow-Like or substantially similar Rheosoph products. Entities with more than 2,000 employees or more than €300 million in annual revenue need a commercial license. For each version, MPL 2.0 takes effect on the earlier of the stated eight-year Change Date or the fourth anniversary of that version's first public distribution.


Website · Documentation · FlowBook · Code of Conduct · Security

Built in Munich, Germany.

agents
ai
apis
automation
data-flow
development
llm
low-code
mcp
mcp-client
n8n-alternative
no-code
retool-alternative
rust
self-hosted
temporal-alternative
typescript
visual-scripting
workflow
workflow-automation

Rheosoph/flow-like

Flow-Like: Strongly Typed Enterprise Scale Workflows. Built for scalability, speed, seamless AI integration and rich customization.

Rust

962

2,411 commits

updated Oct 14, 2026

See the code

README

Flow-Like

Flow-Like

Build the software your business runs on.
A self-hostable development platform for apps, automation, data, and AI.

Star Flow-Like on GitHub Source-available under BSL 1.1 Documentation Discord

Download Studio · First workflow · Nodes & packages · Try online · Self-host · Documentation


Turn the systems you already have into software your team can use. Build interfaces around connected data, then reuse the operations behind them through APIs, schedules, and agents.

Build with 1,900+ built-in nodes, typed building blocks for your workflows. Packages add reusable custom nodes and interface widgets across projects.

Built for developers and technical teams, Flow-Like keeps interfaces, workflows, and data together as an application grows. Studio, the desktop app, runs work locally. A shared backend supports team projects, while device services run near your files, internal networks, and equipment.

Flow-Like's visual frontend builder showing a monitoring page, a component catalog, and a button configured to trigger a workflow.

Build the interface and connect its actions to workflows. Shown here: a monitoring page in the visual frontend builder. Click any image for the full-size view.

Try it locally

Download Studio and run your first workflow without an account, API key, or AI model. Available for macOS, Windows, and Linux.

Local setup and first run
  1. Open Studio, choose a starter Profile during onboarding, then enable Developer Mode in Settings. Any onboarding model downloads can continue in the background; this workflow does not use them.
  2. Open My Apps → Create Flow (or Create Your First App in an empty library). Choose Offline - Local only, enter Hello Flow as the Project Name, and select Create Project.
  3. Right-click the canvas to find and add Simple Event and Print Info. Reuse an existing Simple Event if present. Connect its execution output to Print Info's Input, set Message to Hello Flow, and enable On Screen?.
  4. Select Execute locally beside the event and confirm any run dialog. Look for the Hello Flow notification, then open Runs, select the new run, and inspect Logs.

The log entry should show Hello Flow and identify Print Info as its source. The first-workflow guide includes screenshots and troubleshooting.

Prefer the browser? Open the web app with an online account and an available execution server. To work on Flow-Like itself, build from source.

1,900+ nodes and reusable packages

The node catalog covers SQL and databases, APIs, documents, media, UI, desktop automation, AI, and machine learning. Each node reference shows its inputs and outputs, so you can check the operation you need before building around it. Available nodes depend on the execution environment and enabled integrations.

Package your own capabilities for others to use. A package can bundle custom nodes and UI widgets together. Explore packages, inspect their nodes and permissions, then install and link a version to an App, your Flow-Like project. Use the package workspace to develop, test, and publish your own. Each App records its package dependencies and versions.

Flow-Like's package browser showing Code Interpreter, Typst Documents, PDF Tools, YouTube Tools, and other extensions with versions and requested permissions.

Discover packages for code execution, documents, media, and more. Review their versions and requested permissions before installing.

The Sales Insights example combines Rust WebAssembly nodes with a React chart and filter panel in one package. Its guide shows how to build it and wire widget events to workflows that update the chart.

Build your own nodes and widgets

Add a native Rust node to the built-in catalog, or create a package with the WebAssembly templates for fifteen source languages. WebAssembly extensions are in beta; host API support varies by language and template maturity.

Bring a custom interface through package widgets. Start with the TypeScript counter tutorial, which includes a browser preview and input, event, and query inspection. Framework templates are available for React, Vue, Svelte, and other supported options.

What you can build

Consider an order desk: look up a customer, check stock through an API, show exceptions for an operator to review, and submit the approved order. A scheduled job or an assistant can reuse the underlying operation.

BuildConnect the piecesStart here
An operations consoleCombine dashboards, forms, and record views with workflows that update the systems behind them.Internal tools
A data explorer with actionsQuery files and databases with SQL, map records to business objects, and run operations on selected objects.Data pipelines · Knowledge graphs
Document intake and reviewExtract information from PDFs and spreadsheets, validate fields, and send exceptions to a review interface.Document processing
An assistant that can actRetrieve knowledge, call tools, and return results through chat or an application using configured local or hosted models.AI and agents
A predictive applicationPrepare datasets, train and evaluate models, then use their predictions in a workflow or interface.Data science
Equipment and desktop automationRead equipment through OPC UA, Modbus, or MQTT; automate browser and desktop tasks on a compatible machine.Industrial protocols · Desktop automation

Hardware access and model execution depend on the selected runtime, installed dependencies, and configured providers; the guides cover those requirements.

See a ported application: God's Eye View

God's Eye View ported to Flow-Like, showing aircraft on a map, source controls, a selected aircraft's details, and a workflow input.

God's Eye View, ported to Flow-Like: a spatial interface with map layers, aircraft details, and workflow controls.

How the platform fits together

Flow-Like connects databases, APIs, files, and devices to a shared platform for applications, automation, data analysis, and AI, then delivers team tools, APIs, and automated processes.

Built for developers

Flow-Like combines a Rust execution engine with a Tauri desktop client and a TypeScript/React interface. An App is the project that holds its workflows, pages, data, and access settings. The repository map shows where these parts live.

  • Reuse an operation across interfaces. An App Event is a configured entry point into a workflow. Pages, APIs, schedules, and chats can call reusable logic through the entry points they support.
  • Follow a result back to its source. Typed inputs and outputs make connections explicit. Run logs identify the nodes that produced them; version-pinned entry points let you keep a published workflow in use while you edit the next draft.
  • Use your own code where it matters. Add native Rust nodes, WebAssembly packages, or custom interface widgets. Call the platform from existing applications through the TypeScript and Python SDKs.
  • Run where the work is. Use local execution for device access, a shared backend for team applications, or device services that keep running after Studio closes. A run stays in one environment; offline work requires local dependencies.
See execution analytics

Flow-Like execution analytics showing run volume, users, successful and failed executions, response times, AI spend, and estimated runtime costs.

Inspect execution volume, failures, latency, AI spend, and estimated runtime costs.

Edit the same workflow visually or in text

A Flow is an executable workflow. Its canvas and FlowScript, the typed text form, edit the same saved graph, called a Board. Use the canvas to follow a branch; use text for broad edits and code review. FlowPilot can help create and edit workflows, interfaces, and data from a conversation.

Flow-Like's workflow canvas showing connected typed nodes beside the FlowScript text editor.

Edit workflow logic on the canvas or in FlowScript.

See the full Studio workspace

Flow-Like Studio with a workflow canvas beside its FlowScript editor, project assets on the left, and recorded runs below.

The workflow canvas and FlowScript editor share a workspace with project assets and recorded runs.

Walk through a FlowScript example

This entry receives an incident report and chooses the log path:

use log::*

eventsGeneric triageIncident(payload: Struct, report: string) {
    const normalized = report.trim()
    if (normalized.contains({ substring: "production is on hold", ignoreCase: true })) {
        error({ message: normalized, toast: false })
    } else {
        info({ message: normalized, toast: false })
    }
}

The incident triage workflow rendered as Generic Event, Trim String, Contains, Branch, Log Error, and Print Info nodes.

The image is generated from the checked-in example with the real reconciler and Studio auto-layout. When you apply a text edit, Studio checks it against the node catalog and updates the Board. The Rust runtime executes that Board.

Read FlowBook for worked examples and current round-trip boundaries.

Run it your way

Use Studio on your own machine or host a shared backend for your team. The maintained self-hosting paths are Docker Compose and Kubernetes.

To share a local project, create an online copy and configure its credentials and execution settings. Online Apps provide web access and team roles; local-only Apps remain on the device.

The Compose stack includes the browser app, API, execution manager, disposable gVisor sandboxes, and supporting services. PostgreSQL, Redis, and RustFS object storage are bundled. Studio can connect to that backend.

High-level Docker Compose deployment on a Linux host, with browser and Studio access, API services, an execution manager and disposable gVisor sandboxes, supporting services, and bundled PostgreSQL, Redis, and RustFS storage.

Docker Compose setup

Complete the Linux, Docker, and gVisor prerequisites first. For a new installation:

git clone --branch dev https://github.com/Rheosoph/flow-like.git
cd flow-like/apps/backend/docker-compose
python3 scripts/setup-env.py
cp flow-like.config.example.json flow-like.config.json

Replace the OIDC and domain placeholders in flow-like.config.json, and set FLOW_LIKE_RUNTIME_CONFIG_FILE=./flow-like.config.json in .env. The setup script generates signing keys and service credentials. Then pin the published images and start the stack:

python3 scripts/pull-images.py
python3 scripts/preflight.py
python3 scripts/up.py
docker compose ps --all

The default per-run isolation mode requires immutable image references, so image pinning is required on this path. Long-running services should become healthy; initialization services should exit successfully. Follow the installation guide for identity configuration, readiness checks, public hosting, and upgrades. The optional monitoring profile adds Prometheus, Grafana, Tempo, and exporters.

The Compose directory contains the service definitions, configuration examples, and scripts. To build unpublished code, use scripts/prepare-images.py and scripts/up.py --build as described in the guide.

Kubernetes and execution boundaries

The Helm chart deploys the backend across a cluster. Use the Kubernetes installation guide for gVisor and Cilium prerequisites, image digest pinning, and configuration. Backend directories also contain AWS, Azure, and GCP deployment work; check each target's status before relying on it.

An App Event selects a Flow entry, version, and Local or Remote execution. A single run stays in one environment. Pre-run analysis reports required runtime values, OAuth access, WebAssembly permissions, and local-only nodes, including those inside nested layers. The current dispatcher does not yet reject every incompatible remote selection from the aggregate local-only flag. Device-local secret values stay outside the Board and remote payloads.

Build from source

Install Git, mise, Tauri 2 system dependencies, protoc, and a C/C++ toolchain. Then run:

git clone --branch dev https://github.com/Rheosoph/flow-like.git
cd flow-like
mise trust
mise install
bun install
cp apps/desktop/.env.example apps/desktop/.env
mise run dev:desktop

mise install supplies the toolchain in mise.toml, and dev:desktop detects your platform and starts Studio. Use mise tasks to list development commands, or read the build guide for the full setup.

Repository map

Flow-Like is a Rust and TypeScript monorepo. Bun manages the JavaScript workspace, Tauri hosts the desktop client, and the runtime and core application model live in Rust.

AreaStart here
Studio desktop applicationapps/desktop
Browser applicationapps/web
Interface builder and workflow editorspackages/ui
Runtime and executionpackages/core, packages/executor
Built-in capabilities and integrationspackages/catalog
FlowScript model, parser, and rendererpackages/ast
FlowScript reconciliationpackages/core/editor/src/flow/ast
Self-hosting and deploymentapps/backend

Ask DeepWiki

Help shape the project

We want the next useful tool to build on the last: reuse its data, share an operation, or add an interface for another team. If that is software you want to help build, give Flow-Like a star and follow its development. Try it on a real task, tell us where it falls short, or contribute the integration you need.

  • Find a good first issue, improve a guide, or share an example.
  • Open pull requests against dev and run the checks relevant to your change.
  • Discuss ideas in GitHub Discussions or meet other builders on Discord.
Flow-Like contributors

License

Flow-Like is source-available under the Business Source License 1.1. The Additional Use Grant permits use that does not compete with Flow-Like or substantially similar Rheosoph products. Entities with more than 2,000 employees or more than €300 million in annual revenue need a commercial license. For each version, MPL 2.0 takes effect on the earlier of the stated eight-year Change Date or the fourth anniversary of that version's first public distribution.


Website · Documentation · FlowBook · Code of Conduct · Security

Built in Munich, Germany.

agents
ai
apis
automation
data-flow
development
llm
low-code
mcp
mcp-client
n8n-alternative
no-code
retool-alternative
rust
self-hosted
temporal-alternative
typescript
visual-scripting
workflow
workflow-automation

Significant stargazers

Joel Natividad

232 followers · starred Oct 2025

Jim Myhrberg

392 followers · starred Oct 2025

Marc Espin

513 followers · starred Oct 2025

Jerome Gravel-Niquet

720 followers · starred Apr 2026