Donn Hernandez Product Designer
Download CV
View Case
System Forge, a live design system builder
← All work

Experiment · Design system generator · design.md · Claude Code

System Forge: see the whole system before building any of it

Type
Experiment
Role
Designer and builder
Built with
Claude Code
Status
Live

Problem

Vibe coding makes it easy to start building before you know what you are building. The result drifts, one prompt at a time.

My role

Designed and built it end to end with Claude Code, from first idea to a live tool.

Key decision

Do not build until I can see everything: every component, every state, side by side.

Outcome

A live tool where you set a brand once, watch a whole design system update, then export it for any AI coding agent.

Open System Forge ↗

Why I built it

Vibe coding rewards seeing first

When I vibe code, I wait until I can see everything before I start building. A prompt is cheap, so it is tempting to start typing and let the code take shape on its own. That is usually where a project drifts: every answer looks fine on its own, but nobody checked the whole.

I would rather visualize something first, then build. System Forge turns that habit into a tool: change one decision and see the entire system respond before a single product screen exists.

Solution · Start from a brand

One click sets the whole system

Six starting brands set color, type, corners and density in one click: Forge for design tools, Ledger for banking, Volt for a crypto exchange, Bloom for wellness, Atlas for travel and Mono for editorial. From there, one brand color generates the full palette, any Google Font or uploaded font can be used, and roundness and density change every component at once.

Bloom: palette ramps and type scale, generated from one brand color and two typefaces
Bloom: palette ramps and type scale, generated from one brand color and two typefaces

Solution · See every state

Every component, every state, side by side

Nine groups cover the system: foundations, buttons, badges, inputs, controls, tags and avatars, navigation, overlays and feedback. Hover, focus, disabled and loading are forced on so they can be reviewed together instead of discovered one at a time. Light and dark mode and a mobile width are one click away.

Volt in dark mode: every button hierarchy and state in one view
Volt in dark mode: every button hierarchy and state in one view
Ledger: inputs with hint, focus, error and disabled states
Ledger: inputs with hint, focus, error and disabled states

Solution · Export

Hand the AI the system, not just screens

When the system looks right, it exports as design.md, tokens.json, CSS and a Tailwind config. The design.md carries frontmatter, so it works as a skill file for Claude, Cursor and other agents. The next thing built with AI starts from a system that was already seen and approved.

Export: a skill-ready design.md, plus tokens.json, CSS and Tailwind
Export: a skill-ready design.md, plus tokens.json, CSS and Tailwind

Solution · Figma

Into Figma in one import, not by hand

The tokens.json uses the W3C design tokens format, so it imports straight into Figma variables or Tokens Studio. Every color, type style, radius and spacing value lands in Figma at once, which is much faster than setting them up manually one by one. The same file can be imported back into System Forge to keep editing.

tokens.json: W3C design tokens, ready for Figma variables and Tokens Studio
tokens.json: W3C design tokens, ready for Figma variables and Tokens Studio

What I learned

See it, then build it

Building System Forge with Claude Code reinforced the habit behind it. The fastest way to build with AI is to know exactly what you want to see before you ask for it.

Want the full story?

There's more behind System Forge than fits on one page. I'm happy to walk you through how I built it with Claude Code.

Next Case

PayitFast Business cover

PayitFast Business

Designing business banking from zero