Case study · Oshon · 2026

A design system that scales with data.

Enterprise interfaces do not break at 50 rows. They break at 50 thousand. Oshon is an enterprise React design system and data grid built around one idea: components should adapt their experience to data density. I designed it, built it, and shipped it alone, in partnership with Claude AI.

RoleDesign, engineering, everything
MethodFigma + Claude AI
StackReact 18/19, Tailwind v4, TypeScript
Statusv1.0, public beta
oshon.ai
Scrolling tour of the live oshon.ai product site
01The problem

Every enterprise team designs the same six things. Slowly.

Global header, navigation, page toolbar, content panels, filter rails, dashboard widgets. Most enterprise teams spend their first months assembling these from shadcn, MUI, and AG Grid, gluing three libraries together and sanding the seams. The design system work happens before a single unit of product value ships.

And even when the assembly is done, there is a deeper failure mode: the table that looked beautiful in the Figma file with 50 rows collapses in production with 50 thousand. Pagination bolted on. Virtualization retrofitted. A custom rewrite when the data outgrows the first attempt.

02The insight

Density is the variable design systems ignore.

Design systems version by brand and by platform, but almost never by data volume, the one variable that changes everything about an enterprise interface. Oshon treats density as a first-class design token. One component, six quantized regimes. Pass a density prop, and the component picks the right experience for the size of the data underneath it.

Card1 to 50
Standard50 to 500
Paginated500 to 5k
Virtualized5k to 50k
Server50k to 1M
Infinite1M+

The six data regimes. The same DataTable component serves all of them without re-architecting.

03The alternatives

Free gets you primitives. Enterprise needs a system.

shadcn/ui, MUI, and AG Grid are excellent at what they are: a component kit, a widget library, a grid. None of them is an enterprise system. Choose the free stack and you still reconcile three visual vocabularies and three theming models, design every app shell yourself, and retrofit the table when the data outgrows the first build. The price of free is paid in integration and rewrites.

shadcn/uiMUIAG GridOshon
Density-adaptive components, six data regimes
Pre-designed enterprise app shells
Data grid to 1M rowspaid tier
One system, one theming model, no gluingpartialpartial
Token layer designed as a contract for AI tools (Claude, Cursor)
First screens imported, not designed

✓ included  ·  partial: exists but you assemble or configure it  ·  – not offered

The argument is not that primitives are bad. It is that assembling them is the slowest, most expensive part of every enterprise build, and it produces a system no one designed on purpose. Oshon starts where the assembly ends: one designed language, density handled, first screens ready on day one.

04The system

Designed in Figma first. Every pixel intentional.

Oshon began as a fully proprietary visual language in Figma: every component, every state, every density variant drawn before a line of code existed. The system ships as 50+ production-ready components and six complete app shells, so a team imports its first screens instead of designing them. And because every visual decision lives in a machine-readable token layer, Oshon is AI-native: point Claude, Cursor, or any coding agent at the system and generated screens come out on-system by default. The tokens are not documentation for humans to remember. They are a contract the AI cannot violate.

50+ components

Enterprise-grade, TypeScript-native, themed by an AI-readable token layer.

6 app shells

Header, navigation, toolbar, panels, filter rail, dashboard widgets. The structural six, pre-designed.

One data grid

50 rows to a million through the density prop. No rewrites at scale.

WCAG 2.2 AA

Accessibility as a constraint from the first frame, not an audit at the end.

05The process

One designer, one AI, production software.

Oshon is also an argument about how design works now. I did not hand specs to an engineering team. I directed Claude AI through every build decision, reviewing generated code the way a design director reviews work: against the Figma source, against the interaction spec, against taste. The craft did not leave the process. It moved up a level.

1Design

Component and density variants drawn in Figma.

2Direct

Intent, constraints, and edge cases briefed to Claude.

3Generate

Claude builds components, tests, and docs.

4Review

Every output judged against the Figma source and spec.

5Ship

Merged, versioned, live on oshon.ai.

06The outcome

Live, in public beta, built by one person.

Oshon is live at oshon.ai in v1.0 public beta, aimed at data-heavy enterprise verticals including real estate, law, media, and supply chain. It is the proof behind the claim on my homepage: I don't just design products. I ship them.

50+Components
6App shells
1MRows, one grid
1Designer

Want to get in touch?

Drop me a line