Skip to content
← All products
Design Internal Sightline

The design system every GalvoLab product is built from

The component system every product interface is built from, organised by state rather than by component, because a paused agent run or a settling balance is the normal condition, not an edge case.

Internal. Handed over with the code on every engagement, so a client inherits the system rather than screenshots.

140+ Components in production use
4 Products built on it

The problem

Generic design systems solve buttons and forms. They have nothing to say about a paused agent run awaiting approval, a settlement in confirmation, or a workflow queue under backpressure, which is most of what our products display.

Our approach

We build the system from the interface problems our own products hit. Every component ships with its loading, empty, partial, and failed states, because those are the states that dominate real usage. Teams we hand work over to inherit the system alongside the code.

This is internal. We are documenting it because it explains why our products look like each other, and why a handover includes a design system rather than a folder of screenshots.

Why states came first

Most design systems are organised by component. This one is organised by state. Every component is defined by what it does while loading, while empty, while partially resolved, and while broken. In a product built on agents and on-chain settlement, those are not edge cases. They are the normal condition.

Working on something like this?

We take on a small number of engagements at a time. Bring the problem.

Free consultation