PROTOTYPING

Describe it.
Ship it.

Designers author real product prototypes in plain English — real components, real tokens, real app chrome. No mockups. No drift.


Act I

/prototype in Claude Code

A designer types a plain-English page description into a terminal. Claude Code reads the DS-Brain, picks the right reference story, and writes a real .stories.tsx under _demos/ — real oi-ui components inside the canonical app shell. Storybook hot-reloads. You iterate by talking.

claude — mlops-fe
 /prototype A GPU monitoring dashboard on the Accelerators page with 4 KPIs (Total GPUs 128, Utilization 73%, Active jobs 42, Queue depth 8), a 7-day line chart of GPU compute vs memory, and a table of 5 active workloads with status badges.

✔ read DS-Brain dispatcher + pattern catalog
✔ matched reference: Accelerators.stories.tsx
✔ wrote _demos/tenant-admin-tools/resource-monitoring/Accelerators.stories.tsx
 Storybook hot-reloaded — review at localhost:6007
STAYS STRICT — EVEN IN THE FAST LANE
  • Semantic --oi-* tokens only. No hex, no primitives, no Ant token.* — the whole point of the system.
  • Real components only. No hand-rolled divs styled to look like oi-ui. Every visible pixel is a real component.
  • Real app shell, always. Every prototype renders inside the canonical chrome. No fake sidebars, no fake app bars.
RELAXED — BECAUSE SPEED IS THE FEATURE
  • Inline styles OK inside stories. Spacing tweaks don't need a promoted molecule.
  • No ceremony. No PROMPT-*.md plans, no 8-file contract for story-local pieces — they live at T0 until promoted.
  • One-prompt builds. Small prototypes ship in a single message. Only wave-length builds need the full cycle.

Act II · W110

The pivot we're proud of

We built our own AI playground first — a SpecRenderer, a JSON schema, an LLM proxy, a designer chip UI. It worked. Then we measured it against just… using Claude Code — and killed our own product in a day.

“Sandboxed artifacts couldn't import real components — every prototype became a CSS mock. The ceiling was a dealbreaker.”

— decisions log · 2026-06-30 · W110 OI Lite Playground
✂ The discipline to delete your own work is a design-system skill.

Act III

24 shipped prototypes

0 real, reviewable Storybook prototypes authored in plain English — every one on real components, real tokens, real chrome.
×5

Monitor dashboards

OverviewWorkspacesWorkloadsAcceleratorsUsers
×3

Resource monitoring

Node StatusNode SpecsAccelerators
×10

Inference tools

ChatText GenerationTranslationASRText-to-ImageText-to-SpeechMultimodalDockerGeneric JSONSequence Classification
×6

Everything else

Auth ×2Deployment lifecycleActivity logViz gallery
DUAL-ENGINE STORIES Every chart page ships Recharts + ECharts + SideBySide exports — so the engine choice is evidence-based, not a vibe.

Act IV

Claude Design, for everybody

One command — /design-sync — bundled the entire living library into Claude Design as the org design system “OIUI”. Now anyone in the company prototypes on the real system, no terminal required.

claude — design-sync
 /design-sync
✔ reference storybook built
✔ converter self-heal loop · build 10 · exit 0
✔ 219 previews generated · fidelity graded per component
✔ design system “OIUI” published to organization
→ 220 components · 3,491 tokens · usage notes for Claude
dev ships component /design-sync design system updates anyone prototypes in plain English approved design Handoff to Claude Code real implementation dev ships
The loop is closed. Design and code cannot drift.

The playbook

Prototyping in waves

The team never big-bangs a page. Prototypes climb the same ladder the system did:

atoms gallery molecules organisms templates full pages · one project per domain

One batch per message. And the golden habit: anything wrong twice gets fixed in the design system, not the project.