React + Tailwind · shadcn-compatible

Your AI ships internal tools that work. OnSystem makes them look like it.

Drop-in components for the screens AI coding tools build badly — data tables, dashboards, CRUD forms, permission-gated views. Plus an AI context pack that keeps every new screen your AI generates on-system, automatically.

Founder pricing for the first buyers · no spam, just launch news.
What your AI ships by default
AboutProductsPricingNewsHelp
Revenue
$48k
+12% MoM
Pending
14
this week
Users
2,310
all regions
Uptime
4 of 6
quarter
Status ▾Route ▾Priority ▾Assigned ▾Date ▾Sear
IDERTCOLFailStatus
CG-82136h5%Delivered
CG-821652h64%Sync failed
CG-821826h19%Transit
CG-822041h31%Delayed
The same screen, on OnSystem
◧ Workspace⌕ ◔ JS
Revenue
$48k
↑ 12% vs last mo
Open exceptions
14
↑ 3 vs last wk
Active users
2,310
Across all regions
On-time rate
94%
↑ 2% vs last mo
⌕ SearchStatus ▾Route ▾+2 more ▾
ShipmentERT ⓘFailure rateStatus
CG-82136h5%Delivered
CG-821652h64%Sync failed
CG-821826h19%In transit
CG-822041h31%Delayed

Same data, same functionality. One reads as a coherent product — semantic color, a real app shell, defined column meanings, emphasis where it matters. The other is what "make me a dashboard" gives you.

Why AI-built tools look wrong

The same failures, every time

We studied real vibe-coded dashboards. The mistakes weren't random — they were the same handful, over and over. OnSystem is built to make each one impossible.

Decorative color

Stat icons in green, blue, orange, pink — meaning nothing. A "14 pending" tile screaming alarm-red for no reason. OnSystem locks color to five semantic roles; if it's not good / bad / warning / info / neutral, it's gray.

Inconsistent cards

Four stat cards, four different secondary-text formats, impossible to scan as a set. Every OnSystem stat card shares one fixed slot contract — only the values change.

Overflowing toolbars

Six filters crammed into one row until the search button clips mid-word. OnSystem's filter bar measures itself and collapses the overflow into "More filters," live.

Undefined jargon

Columns labeled "ERT / COL / CRT" with no way to know what they mean, and a 64% failure rate in the same plain text as a 5% one. OnSystem ships header tooltips and value-based emphasis by default.

Marketing chrome

A public "About / Products / News" navbar bolted on top of an internal ops table. OnSystem's app shell is structurally impossible to confuse with a marketing site.

Only the happy path

Sample data forever — no loading, empty, or error states. Every OnSystem data component ships all three, not just the screenshot-ready one.

What you get

A complete internal-tool kit

16

Production components

App shell, data table, filter bar, CRUD forms, record detail, permission gating, activity feed, settings, confirm dialogs, stat cards — the real internal-tool patterns, not marketing-site filler.

5

Themes, one class

Light, Dark, Berlin Nights, Sunny California, Console 47 — all WCAG-AA audited. Switch the whole system with a single class; color, radius, and fonts all repaint.

AI

The context pack

A rules file for Cursor, Claude Code, v0, Bolt, or Lovable. Feed it once and every new screen your AI builds stays on-system — the real differentiator.

Install like shadcn

npx shadcn add — the exact workflow you already use for free components, pointed at your licensed registry. Updates appear automatically, no re-download.

Semantic tokens

Every color, size, and radius routes through a locked token scale. Extend the system without ever forking it or hardcoding a value.

Perpetual + updates

One-time purchase. Perpetual access and free updates to the bundle as tool conventions evolve.

5 themes, one class

Same components. Any look.

A theme is a single class on your <html> — color, corner radius, and fonts all repaint, and nothing else changes. All five ship WCAG-AA audited. Click through them:

OS Workspace ⌕   ◔   JS
On-time rate
94.2%
↑ 2.1% vs last mo
Open exceptions
7
↑ 3 vs last wk
DeliveredIn transitDelayedSync failed
ShipmentERTFailure rate
CG-82136h5%
CG-821652h64%
CG-821826h19%

Every color stays semantic across all five — a 64% failure rate reads as danger whether it's on cream or a Commodore-blue console. That's the whole point: the meaning never moves, only the mood.

How it works

Three steps to on-system

Buy your license

One checkout, one license key — delivered instantly along with the AI context pack.

Point shadcn at it

Add one block to your components.json with your key. That's the whole setup.

Add components

Run npx shadcn add @onsystem/DataTable — it pulls the component and its whole dependency tree into your project.

The part nobody else has

It doesn't just look right once.

Component libraries fix the screen you're on. OnSystem's AI context pack fixes every screen you build next — feed it to your AI coding tool and it generates on-system UI from then on, without you re-explaining the rules each time.

# feed the context pack to your AI once
> add a stat card for failed syncs

uses the fixed StatCard slot contract
colored by good/bad direction, not the arrow
ships loading + empty states too
zero hardcoded colors
# on-system, automatically
Pricing

One price. Everything.

Founder price — first 25 buyers
$199$299
Join the waitlist
Launching soon — waitlist members get founder pricing and first access.
Questions

Good to know

Do I need to know design?

No — that's the point. OnSystem makes the design decisions for you through a locked token system, and the AI context pack keeps your AI assistant making the same decisions on every new screen.

How is it delivered?

Through a private registry you install with the shadcn CLI you already use: npx shadcn add @onsystem/<component>. Your license key unlocks it. Updates appear automatically — no re-downloads.

Which AI tools does the context pack work with?

Cursor, Claude Code, v0, Bolt, and Lovable — anywhere you can supply a rules file or project context. It's plain, tool-agnostic instructions.

What stack does it assume?

React + TypeScript + Tailwind, built on shadcn/ui conventions. The components are dependency-free portable .tsx — your code, no runtime lock-in.

One-time or subscription?

One-time. You get perpetual access and free updates to the bundle. (A subscription for future additional verticals will come later — this bundle is yours forever.)

Launching soon

Ship internal tools that look intentional.

Join the waitlist for founder pricing and first access when OnSystem opens.