Vision Design System

Design system

Frontend architecture

NPM · Angular · Vue

I built the design system because the alternative was chaos.

Managing UI components across multiple products without a shared system means every designer solves the same problem differently, every developer rebuilds the same component from scratch, and every product drifts further from every other. I designed and built Vision from the ground up — a component library shipped as a Figma kit and three published frontend libraries.

Role

Sole architect — concept,
design, build, publish

Deliverables

Figma kit · NPM · Angular · Vue

Outcome

50% reduction in design and development time

Used across:

Used across all digital products
in platform & portfolio

01 - The Problem

As the product portfolio grew, so did the inconsistency. Buttons looked slightly different across products. Form fields had different padding on different platforms. A developer on one project would build a tab component that another project had already built three months earlier — differently.

The problem wasn't skill. It was the absence of a shared contract between design and engineering. Vision was built to be that contract.

02 - The atomic structure

Vision follows atomic design methodology — not because it's fashionable, but because it maps directly to how frontend components are actually built. A button (atom) goes into a search field (molecule) which goes into a navigation header (organism) which goes into a product page. Change the button token and it propagates everywhere. That's the point.

Atoms — the visual contract

Colour tokens, typography scale, spacing, radius, shadow, icon set, button variants, form controls, badges, avatars. Every design decision that needs to be consistent across products lives here. Change it once, change it everywhere.

Molecules — functional units

Atoms grouped into components that do one job. Stepper, button group, tab group, file upload field, date picker. Each molecule owns its own states — hover, focus, error, disabled — so neither designer nor developer needs to define them again at the organism level.

Organisms — interface sections

Molecules assembled into complete interface sections. Navigation headers, asset map views, search panels. These are what engineers pull directly from the library — not individual buttons, but fully composed interface blocks ready to drop into a product.

Pages — the system in production

Where the system proves itself. Every screen in every product is built from organisms — which are built from molecules — which are built from atoms. A new product page is an assembly job, not a design job. That's what a 50% time reduction looks like in practice.

03 - The decision worth remembering

The hardest part of building a design system isn't the components — it's adoption. A system nobody uses is a folder of Figma files.

Publishing Vision as actual installable libraries (NPM, Angular package, Vue package) was the decision that forced adoption. When a developer can run one command to get the latest button component, they stop building their own. When the Figma kit auto-updates tokens, designers stop drifting. The system becomes the path of least resistance — which is the only way a design system actually works.

04 - Results

50% reduction in design and development time across all products using the system. One consistent visual language across every product in the portfolio. Three published libraries — NPM, Angular, Vue — maintained and updated from a single source of truth.

The system is still the foundation every subsequent project in this portfolio was built on.

NEXT PROJECT

Failure Triage AI Agent

View

Vision Design System

Design system

Frontend architecture

I built the design system because the alternative was chaos.

Managing UI components across multiple products without a shared system means every designer solves the same problem differently, every developer rebuilds the same component from scratch, and every product drifts further from every other. I designed and built Vision from the ground up — a component library shipped as a Figma kit and three published frontend libraries.

Role

Sole architect - concept, design, build, publish

Deliverables

Figma kit · NPM · Angular · Vue

Outcome

50% reduction in design and development time

Used across:

Used across all digital products in platform & portfolio

01 - The Problem

As the product portfolio grew, so did the inconsistency. Buttons looked slightly different across products. Form fields had different padding on different platforms. A developer on one project would build a tab component that another project had already built three months earlier — differently.

The problem wasn't skill. It was the absence of a shared contract between design and engineering. Vision was built to be that contract.

02 - The atomic structure

Vision follows atomic design methodology — not because it's fashionable, but because it maps directly to how frontend components are actually built. A button (atom) goes into a search field (molecule) which goes into a navigation header (organism) which goes into a product page. Change the button token and it propagates everywhere. That's the point.

Atoms — the visual contract

Colour tokens, typography scale, spacing, radius, shadow, icon set, button variants, form controls, badges, avatars. Every design decision that needs to be consistent across products lives here. Change it once, change it everywhere.

Molecules — functional units

Atoms grouped into components that do one job. Stepper, button group, tab group, file upload field, date picker. Each molecule owns its own states — hover, focus, error, disabled — so neither designer nor developer needs to define them again at the organism level.

Organisms — interface sections

Molecules assembled into complete interface sections. Navigation headers, asset map views, search panels. These are what engineers pull directly from the library — not individual buttons, but fully composed interface blocks ready to drop into a product.

Pages — the system in production

Where the system proves itself. Every screen in every product is built from organisms — which are built from molecules — which are built from atoms. A new product page is an assembly job, not a design job. That's what a 50% time reduction looks like in practice.

03 - The decision worth remembering

The hardest part of building a design system isn't the components — it's adoption. A system nobody uses is a folder of Figma files.

Publishing Vision as actual installable libraries (NPM, Angular package, Vue package) was the decision that forced adoption. When a developer can run one command to get the latest button component, they stop building their own. When the Figma kit auto-updates tokens, designers stop drifting. The system becomes the path of least resistance — which is the only way a design system actually works.

04 - Results

50% reduction in design and development time across all products using the system. One consistent visual language across every product in the portfolio. Three published libraries — NPM, Angular, Vue — maintained and updated from a single source of truth.

The system is still the foundation every subsequent project in this portfolio was built on.

NEXT PROJECT

Failure Triage AI Agent

View

Vision Design System

Design system

Frontend architecture

NPM · Angular · Vue

I built the design system because the alternative was chaos.

Managing UI components across multiple products without a shared system means every designer solves the same problem differently, every developer rebuilds the same component from scratch, and every product drifts further from every other. I designed and built Vision from the ground up — a component library shipped as a Figma kit and three published frontend libraries.

Role

Sole architect — concept,
design, build, publish

Deliverables

Figma kit · NPM · Angular · Vue

Outcome

50% reduction in design and development time

Used across:

Used across all digital products
in platform & portfolio

01 - The Problem

As the product portfolio grew, so did the inconsistency. Buttons looked slightly different across products. Form fields had different padding on different platforms. A developer on one project would build a tab component that another project had already built three months earlier — differently.

The problem wasn't skill. It was the absence of a shared contract between design and engineering. Vision was built to be that contract.

02 - The atomic structure

Vision follows atomic design methodology — not because it's fashionable, but because it maps directly to how frontend components are actually built. A button (atom) goes into a search field (molecule) which goes into a navigation header (organism) which goes into a product page. Change the button token and it propagates everywhere. That's the point.

Atoms — the visual contract

Colour tokens, typography scale, spacing, radius, shadow, icon set, button variants, form controls, badges, avatars. Every design decision that needs to be consistent across products lives here. Change it once, change it everywhere.

Molecules — functional units

Atoms grouped into components that do one job. Stepper, button group, tab group, file upload field, date picker. Each molecule owns its own states — hover, focus, error, disabled — so neither designer nor developer needs to define them again at the organism level.

Organisms — interface sections

Molecules assembled into complete interface sections. Navigation headers, asset map views, search panels. These are what engineers pull directly from the library — not individual buttons, but fully composed interface blocks ready to drop into a product.

Pages — the system in production

Where the system proves itself. Every screen in every product is built from organisms — which are built from molecules — which are built from atoms. A new product page is an assembly job, not a design job. That's what a 50% time reduction looks like in practice.

03 - The decision worth remembering

The hardest part of building a design system isn't the components — it's adoption. A system nobody uses is a folder of Figma files.

Publishing Vision as actual installable libraries (NPM, Angular package, Vue package) was the decision that forced adoption. When a developer can run one command to get the latest button component, they stop building their own. When the Figma kit auto-updates tokens, designers stop drifting. The system becomes the path of least resistance — which is the only way a design system actually works.

04 - Results

50% reduction in design and development time across all products using the system. One consistent visual language across every product in the portfolio. Three published libraries — NPM, Angular, Vue — maintained and updated from a single source of truth.

The system is still the foundation every subsequent project in this portfolio was built on.

NEXT PROJECT

Failure Triage AI Agent

View

Create a free website with Framer, the website builder loved by startups, designers and agencies.