Vintage Machine Works

Introduction

An AI-native framework for connecting hardware and software.

What is vintage?

Vintage is a framework for augmenting hardware and machines with a simple yet powerful software layer.

Whether you're reading sensor data from a factory floor, controlling actuators on a robot arm, or managing a fleet of embedded devices — you shouldn't need to wire up servers, WebSocket handlers, and UIs from scratch. Vintage wraps your hardware logic in a single TypeScript class and automatically exposes a REST API, a real-time WebSocket feed, and a web UI.

The underlying philosophy is simple: create a nice developer experience around physical machines. Write the logic.

Vintage handles the interface.

The story behind it

When I bought my ABB industrial robot which is about 25 years old now, I had quite some issues with the interface (or lack of – to be precise). So I wrote my own interface from scratch.

This usually requires not only a frontend, but also a backend service that talks to the hardware via various interfaces. In my case, it is a wild combination of serial communication and an FTP server where you manage all your programs.

At some point I realized that this is probably not the only machine, that could profit from a similar approach. This is why i created Vintage Machine Works. A framework that allows me to spin up a backend and frontend for various machines.

We are not limited to old machines, though. The frameworks is so generic that you can even create software abstractions around cloud services, microcontrollers or complex CNC machines.

Vintage does not have the goal to replace hardware controllers, though. Timing-critical embedded workflows and functionality still needs to be covered by your embedded controllers. However Vintage can communicate with these controllers via a simple protocol and takes care of the rest.


Core concepts

Machines

A machine is a TypeScript class that extends BaseMachine. It defines state, actions, and optional configuration. The framework handles everything else.

Writing machines

CLI

The vintage CLI is a compiled binary available on all major platforms (macOS, Linux, Windows). It loads your machine file and starts the server — no build step, no configuration required. Small enough to run on a Raspberry Pi.

Frontend

Every machine gets a web UI generated automatically from its definition. Actions appear as interactive controls; state updates in real time over WebSocket.

While this is enough to get you started, you can create your own views in React that will be compiled and rendered accordingly.

Cloud

Vintage Cloud provides managed hosting and remote access for machines — available separately.


Next steps

On this page