# samuelmtimbo/unit

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/samuelmtimbo-unit).**

4,913 stars · 173 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/samuelmtimbo/unit
- Homepage: https://unit.software
- awesome-repositories: https://awesome-repositories.com/repository/samuelmtimbo-unit.md

## Topics

`dataflow-programming` `functional-programming` `live-programming` `programming` `programming-language` `reactive-programming` `unit` `visual-programming`

## Description

Unit is a visual programming system and graph-based integrated development environment used to build functional software by connecting state machines and primitive operations. It serves as a node-based logic editor and state machine orchestrator that transforms visual program specifications into standalone JavaScript files for deployment as static websites.

The system distinguishes itself through a visual compiler that can render program bundles into active websites and perform bi-directional graph inspection, allowing a live rendered application to be converted back into its original visual graph for debugging. It employs a spatial workspace where low-level system APIs are wrapped into reusable state machines to create a consistent library of functional units.

The platform covers a wide range of capabilities including graph-based logic composition with pin-based data routing, recursive subgraph nesting, and manual JSON data creation. It also provides tools for project serialization, hierarchy navigation between parent and child nodes, and a final rendering preview to view the output of a graph.

## Tags

### Programming Languages & Runtimes

- [Visual-to-JavaScript Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/visual-to-javascript-compilers.md) — Transforms visual program specifications into standalone JavaScript files for deployment as static websites.
- [Static Visual Graph Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/static-visual-graph-compilers.md) — Transforms functional unit graphs into static files that execute logic within a standard web browser environment.
- [Visual Logic Programming](https://awesome-repositories.com/f/programming-languages-runtimes/visual-logic-programming.md) — Converts program specifications into active systems and visual components using a visual logic programming paradigm. ([source](https://cdn.jsdelivr.net/gh/samuelmtimbo/unit@main/README.md))
- [Standard Logical Unit Libraries](https://awesome-repositories.com/f/programming-languages-runtimes/core-language-libraries/standard-logical-unit-libraries.md) — Offers a standard collection of predefined logical unit graphs to simplify program composition and ensure portability. ([source](https://github.com/samuelmtimbo/unit/tree/main/src/docs/evolution))

### Software Engineering & Architecture

- [Node-Based Logic Composition](https://awesome-repositories.com/f/software-engineering-architecture/node-based-logic-composition.md) — Represents programs as a network of nodes and edges where data flows through connected input and output pins.
- [State-Machine API Wrappers](https://awesome-repositories.com/f/software-engineering-architecture/api-wrapping/state-machine-api-wrappers.md) — Turns system and environment APIs into a standardized library of reusable visual state machines.
- [System API Wrappers](https://awesome-repositories.com/f/software-engineering-architecture/api-wrapping/system-api-wrappers.md) — Wraps low-level system and environment APIs into reusable state machines to create a standard library of operations. ([source](https://github.com/samuelmtimbo/unit/tree/main/src/docs/evolution))
- [Function Piping](https://awesome-repositories.com/f/software-engineering-architecture/modular-program-composition/function-piping.md) — Implements a visual piping system that passes values through a sequence of multi-input and multi-output units. ([source](https://github.com/samuelmtimbo/unit/tree/main/src/docs/input))
- [Architectural State Machines](https://awesome-repositories.com/f/software-engineering-architecture/state-machine-logic/lightweight-state-machines/automation-state-machines/entity-state-machines/architectural-state-machines.md) — Encapsulates low-level system APIs into discrete state machines to manage transitions and application architecture.
- [State Machine Orchestrators](https://awesome-repositories.com/f/software-engineering-architecture/state-machine-orchestrators.md) — Orchestrates application logic by wrapping low-level APIs into reusable state machines.
- [Live Graph Reverse-Inspection](https://awesome-repositories.com/f/software-engineering-architecture/execution-graphs/graph-execution-tracing/code-graph-path-inspection/live-graph-reverse-inspection.md) — Encapsulates a live unit website back into a graph editor to debug its underlying structure. ([source](https://cdn.jsdelivr.net/gh/samuelmtimbo/unit@main/README.md))

### Development Tools & Productivity

- [Interactive Prototyping](https://awesome-repositories.com/f/development-tools-productivity/interactive-prototyping.md) — Provides rapid iteration on application logic with a live editor that renders programs into functional websites.
- [Visual Graph IDEs](https://awesome-repositories.com/f/development-tools-productivity/visual-graph-ides.md) — Features a zoomable canvas, hierarchy navigation, and live preview for comprehensive node-based software design.
- [Bi-Directional Graph Inspection](https://awesome-repositories.com/f/development-tools-productivity/bi-directional-graph-inspection.md) — Enables the conversion of a live rendered application back into its original visual graph for debugging and modification.

### DevOps & Infrastructure

- [Visual Data Flow Builders](https://awesome-repositories.com/f/devops-infrastructure/node-orchestrators/edge/flow-based-orchestrations/visual-data-flow-builders.md) — Maps how data moves between inputs and outputs using a piping system of compatible functional pins.

### User Interface & Experience

- [Node-Based Logic Interfaces](https://awesome-repositories.com/f/user-interface-experience/node-based-logic-interfaces.md) — Designs complex program flows using a visual canvas of connected units and reusable subgraphs.
- [Pin-Based Connectivity Models](https://awesome-repositories.com/f/user-interface-experience/pin-based-connectivity-models.md) — Manages information flow by matching compatible output and input pins to define the execution order of operations.
- [Visual Programming Environments](https://awesome-repositories.com/f/user-interface-experience/visual-programming-environments.md) — Provides a canvas-based interface for constructing and configuring modular software components via a graph.
- [Application Output Previews](https://awesome-repositories.com/f/user-interface-experience/application-output-previews.md) — Hides the editing interface to view the final visual output of the graph as a rendered website. ([source](https://github.com/samuelmtimbo/unit/tree/main/src/docs/start))

### Graphics & Multimedia

- [Visual Programming Environments](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/visual-programming-environments.md) — Allows live programming via a visual environment where graphs are manipulated using gestures and shortcuts. ([source](https://github.com/samuelmtimbo/unit/tree/main/src/docs/evolution))
- [Subgraph Grouping](https://awesome-repositories.com/f/graphics-multimedia/subgraph-grouping.md) — Supports grouping multiple nodes into single reusable units or expanding them back into components. ([source](https://github.com/samuelmtimbo/unit/tree/main/src/docs/start))
- [Recursive Hierarchies](https://awesome-repositories.com/f/graphics-multimedia/subgraph-grouping/recursive-hierarchies.md) — Allows grouping multiple units into a single parent node to create hierarchical levels of abstraction within the graph.
- [Subgraph Cloning](https://awesome-repositories.com/f/graphics-multimedia/subgraph-grouping/subgraph-cloning.md) — Supports creating shallow or deep copies of units and subgraphs to reuse existing logic and state. ([source](https://github.com/samuelmtimbo/unit/tree/main/src/docs/start))
- [Hierarchical Graph Navigation](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/node-graph-engines/logic-to-graph-mapping/graph-logic-encapsulation/hierarchical-graph-navigation.md) — Allows users to navigate between parent graphs and child units to modify internal logic and organization. ([source](https://github.com/samuelmtimbo/unit/tree/main/src/docs/start))

### Web Development

- [Standalone Bundling](https://awesome-repositories.com/f/web-development/rendering-templating/server-side-rendering-utilities/static-html-generators/standalone-bundling.md) — Compiles program bundles into static JavaScript files that load into standard HTML pages as standalone websites. ([source](https://cdn.jsdelivr.net/gh/samuelmtimbo/unit@main/README.md))
- [Schema-Driven Bundling](https://awesome-repositories.com/f/web-development/rendering-templating/server-side-rendering-utilities/static-html-generators/standalone-bundling/schema-driven-bundling.md) — Serializes visual graph specifications into portable bundles that can be compiled into standalone JavaScript applications.
