logo
bigmachine
githubnpmdocs
logo

The Framework and Translation-Layer
for wiring up the world.

Making hardware accessible through web technologies and AI.


BigMachine is an AI-native framework that turns physical hardware and equipment into first-class digital citizens. It provides a clear architecture that allows humans and agents to interact with physical devices.

This is done by standardizing every component — from 30-year-old industrial devices to modern cloud APIs — into a unified, type-safe architecture. The logic of a component is automatically turned into the UIs and APIs, allowing you to instantly modernize assets and orchestrate complex, distributed processes.

It provides adapters and translations for various AI agents, allowing them to interact seamlessly with physical devices.

Main goals

  • Build complex, distributed processes in simple, easy to maintin steps.
  • Modernize existing assets instantly without replacing expensive hardware.
  • Provide a "plug-and-play" interfaces for AI to interact with hardware safely and predictably.

Vibe-Coding Ready

BigMachine is designed for building software in era of AI. By enforcing strict architectural boundaries, you can start on your own or use AI to "vibe-code" new hardware adapters from a prompt or a technical manual. The framework acts as a guideline and safety net: write the core logic, and BigMachine ensures the integration remains stable, validated, and type-safe.

Web UI

For monitoring machine state and executing functions.

REST API

For writing programmatic workflows or integrating into existing systems.

MCP Server

Give AI agents like Claude handles to understand and interact with each device.

Extendable

Extend the framework with custom plugins and integrations.

Architecture

Each machine is defined in an isolated module and environment. The translation layer creates a bridge to other machines, the interface and a unified API.

architecture

Get started

1 Install all necessary dependencies

pnpm i @big-machine/factory @big-machine/machine_abb-irb-2400 @big-machine/machine_button     

2 Provide the necessary configuration

const button = new Button({ id: "button" });     
const robot = new AbbRobot({ id: "robot", ip: "192.168.1.100", port: "/dev/sda1" });     

3 Wire up the functionality between the machines

button.on("press", () => robot.move({ x: 400, y: 300 }))     
button.on("release", () => robot.move({ x: 100, y: 200 }))     

4 Launch the factory

factory.register([button, robot])     
factory.serve({ port: 3000 })     

5 Start the server and enjoy

Factory is running!     
WebUI:        http://localhost:3000     
RestAPI:      http://localhost:3000/api     
MCP Server:   http://localhost:3000/mcp     

Building becomes a breeze

Run anywhere

BigMachine runs anywhere where NodeJS or Bun can run. From a RaspberryPi, embedded pc or a server in the cloud.

Developer friendly

A growing ecosystem of workflows and components to build upon.

Typesafe and self-documenting

Define machines in isolated modules, type-safe and testable.

Out-of-the-box experience

Tooling is set up so you don't need to care about infrastructure and interfaces, but on your specific process.

Get in touch to discuss how this project could benefit you.

Mail