Welcome to Oshon · v1.0  ·  Now in public beta for enterprise teams Read the launch notes

Theming

Oshon generates its entire token palette at runtime from three hex seeds —primary,secondary, andtertiary. Each seed expands into an 11-shade ramp (50 → 950), the gray ramp is tinted by the primary hue, and all 44 values land on the document as CSS custom properties the moment you pick them. Every component updates live.

Try it

Pick any three colors below — this whole page is re-themed byapplyTheme()as you drag.

Primary
Secondary
Tertiary
primary
50
100
200
300
400
500
600
700
800
900
950
secondary
50
100
200
300
400
500
600
700
800
900
950
tertiary
50
100
200
300
400
500
600
700
800
900
950
gray
50
100
200
300
400
500
600
700
800
900
950

Usage

import { applyTheme } from '@oshon-ai/tokens';

applyTheme({
  primarySeed:   '#3B82F6',
  secondarySeed: '#10B981',
  tertiarySeed:  '#F59E0B',
});

applyTheme returns a teardown function that restores the previous values. Call it inside a React useEffect for clean mount/unmount, or once at app startup for a fixed brand.