v1.1 · Open source · MIT

Your design system,
on an infinite canvas.

Build colors, tokens, and themes visually. Self-host on Railway in one click — your data, your domain, your rules.

No telemetry No cloud account 90-second setup
MIT licensed · 1-click Railway deploy · Zero telemetry · Local auth, your Postgres

01 — Canvas

Drag colors. See the system.

Every color is a node. Connect them, and the children update when the parent moves. No spreadsheets. No re-typing values.

  • Infinite canvas, pan and zoom like a map.
  • Parent-child color inheritance, live.
  • Multi-page projects keep things tidy.

02 — Palette generator

11 shades from one color.

Pick a base. We draw the curve. Change the base, every shade follows. Tune lightness, saturation, and hue-shift like you would in any color picker.

  • 50 → 950 named automatically.
  • Linear, ease, or material curves.
  • Works in HSL, RGB, OKLCH, HCT.

03 — Tokens table

Every token, one table.

Search, rename, group, and export. See light and dark values side-by-side. Tokens with smart rules glow softly so you know they're alive.

  • Export to CSS, Tailwind, DTCG, or Figma.
  • Per-theme overrides in one view.
  • Hide what you don't need yet.

04 — Advanced logic

When this, then that.

Make tokens that think. If the parent gets dark, the hover gets lighter. If it's the dark theme, pick a different swatch. Visual rules — no code.

  • Rules on any channel: H, S, L, A, R, G, B, OKLCH, HCT.
  • Conditional token assignments per theme.
  • Live preview, with errors before you ship.

05 — AI Build Mode

Describe it. Watch it build.

Tell the AI what you want. It creates the nodes, the shades, the tokens — on your canvas, in front of you. You approve every step.

  • Bring your own Anthropic, OpenAI, or OpenRouter key.
  • Keys live on your device. The server never sees them.
  • Undo any batch with one click.

06 — Themes & export

One canvas. Every theme. Every format.

Light, dark, brand-A, brand-B — same canvas, different lenses. Click export and your tokens drop straight into your code in the shape you want.

  • CSS Variables · Tailwind · DTCG · Figma.
  • Pick any color space — HSL, OKLCH, HCT, hex.
  • One ZIP for multi-page projects.

Every detail, considered.

The small things that turn a tool into a workshop.

Pick your color space

HSL for the familiar. OKLCH for the perceptually smooth. HCT when you live in Material.

HSL RGB OKLCH HCT Hex

Lock & diff inheritance

Lock the hue, follow the lightness. Or save a fixed offset. Children stay smart, automatically.

H217°
S91%
Lparent + 12Δ

Multi-page projects

One page for colors. One for type. One for spacing. Same tokens, no clutter.

Colors Typography Spacing

Command palette

Press ⌘K. Type. Done. Every action is one keystroke away.

Search actions… ⌘K
Create new color node
Coming soon

Spacing tokens too

Same canvas, same superpowers — for spacing, radius, and any numeric scale.

Per-theme visibility

Hide what doesn't apply. Dark-only tokens stay out of the light export, and vice versa.

color.primary
color.hover
color.legacy
color.danger

Self-host

Your data. Your server. Your rules.

One Railway service. One Postgres plugin. One click to deploy. No third-party identity. No usage analytics. No lock-in.

1

Click. Wait 90 seconds. You're live.

Hit the Deploy button. Railway provisions the app and Postgres, and wires DATABASE_URL for you.

2

Your Postgres. Your domain. Your auth.

Local sign-in with bcrypt passwords and signed session cookies. The setup wizard turns the first visitor into the admin.

3

No telemetry. No accounts. No lock-in.

We collect nothing. AI API keys live on your device. The whole thing is MIT — fork it, theme it, ship it.

Deploy on Railway

Export

Tokens, ready for your codebase.

Same source of truth, four output formats. Copy. Paste. Ship.

/* 0colors export · dark theme */
:root {
  --surface:        oklch(0.18 0 0);
  --surface-panel:  oklch(0.21 0 0);
  --text:           oklch(0.97 0 0);
  --text-secondary: oklch(0.74 0 0);
  --border:         oklch(0.27 0 0);
  --primary:        oklch(0.62 0.18 256);
  --primary-hover:  oklch(0.72 0.16 256);
  --success:        oklch(0.71 0.16 158);
  --danger:         oklch(0.64 0.22 25);
}

Start with your colors. End with a design system.

Free, open source, runs on your Railway in 90 seconds.

Deploy on Railway View on GitHub