All work
AIProduct

Artificial OS

Quenga Designs · 2026

An AI-native workspace experiment — agent-driven interfaces exploring what an operating system built around LLMs feels like.

2
Runtime dependencies
Local-first
Architecture
In development
Stage
Problem
AI tooling lives scattered across terminals, config files, and browser tabs. There was no single surface on my machine for driving the AI tools I actually run locally.
Solution
I built a local-first control surface: a small Express server bound to the loopback interface, serving a vanilla JS interface whose web chat proxies to a local Hermes gateway API server.
Result
In active development as an internal studio experiment — the smallest codebase in the portfolio, and deliberately so.

The brief

Artificial OS is a studio experiment, not a client deliverable. The question behind it: what does an operating system feel like when it's built around LLMs instead of files and folders? Rather than theorize, I built the smallest thing that could answer it — a local control surface for the AI tools already running on my machine.

What was built

A single Node server (server.js) plus a three-file vanilla frontend: index.html, app.js, styles.css. No framework, no build step, no bundler. The interface includes a web chat that doesn't talk to a cloud API directly — it proxies to a Hermes gateway API server running locally, and the server reads Hermes configuration from its local install directory. The workspace stays on the machine it runs on.

Under the hood

The dependency list is two packages: Express and a YAML parser. That's the whole runtime.

Local-first doesn't mean careless. The server binds to 127.0.0.1 only, disables framework fingerprinting headers, and sets a locked-down Content-Security-Policy — same-origin everything, no inline scripts, no frames. A shared-secret cookie gates the /api/* routes so only pages actually served by the app can call them; the threat model is other local processes probing the port, not remote attackers, and the code documents that reasoning inline.

Tests run on Node's built-in test runner with Supertest, and the Hermes directory is overridable via environment variable so the suite runs against fixtures instead of a real install.

Where it stands

Version 0.0.1, in active development. It's the sketchbook of the portfolio: the place where I find out what an agent-driven interface wants to be before committing to it anywhere bigger. The constraint — two dependencies, no build step, everything local — is the point. Experiments should be cheap to change and impossible to leak.