One independent model
ThemeDefinition stores the color system. CSS, Tailwind, Material UI, Bootstrap and Figma remain output formats.
About Tintary
Tintary helps frontend and design system teams turn one source color into coherent scales, semantic roles, realistic previews, measured checks and portable exports through four explicit stages.
Why it exists
Frontend work begins after color selection: accessible foregrounds, semantic roles, surface hierarchy, dark mode and framework output still need decisions. A versioned contrast policy makes foreground generation explicit by role.
Tintary organizes those decisions as Build, Preview, Check and Export—clear product tasks instead of a collection of unrelated editor panels.
Product principles
ThemeDefinition stores the color system. CSS, Tailwind, Material UI, Bootstrap and Figma remain output formats.
Culori handles parsing, conversion and WCAG measurement. OKLCH recipes generate scales and surface depth for light and dark modes.
Build, Preview, Check and Export make every decision and handoff stage visible instead of hiding tools behind editor chrome.
No account, backend or database. Workspace state and saved themes stay in the browser.
Architecture
Color generation stays pure. UI and gallery state never become export data.
Source colors
Culori engine
Raw scales
Semantic roles
Four-stage workspace
Framework-agnostic product truth.
Local editor state and persistence.
Format output without regenerating colors.
Color-only MVP
Included
Not in MVP
Project
I built Tintary as an independent project. It uses Next.js, TypeScript, Tailwind CSS, shadcn/ui, Culori and Zustand, with Vitest, Playwright and axe-core for testing.
Source code and project updates are available on GitHub. You can also contact me through Twitter or LinkedIn.
Tintary
Build source roles, preview real contexts, check measurable quality and export the formats your project uses.