Once UI Blog
Builder stories
Posts
Once UI
Once UI Stack chat: an AI chat with a face
Once UI 2.5: reactions that move
Once UI 2.4: ready for AI apps
Once UI 3.0 beta: one way to say it
Stack languages: your app in Hungarian, or in two
Stack store: your shop on your own site
Liquid Metal: chrome that never sets
Chirio, redesigned
Styled screenshots in Chirio
Once UI 2.3: made for real apps
Frametic is now a video and capture studio
Agents write about 40% less code from Stack
Magic Portfolio, now on Once UI 2
Frametic MCP: let your agent film your site
Once UI Stack: your site as a desktop app
Once UI Stack, redesigned
Stack: teams and billing
Prism Glow: soft prism light behind your sign-in screen
Once UI for React Native: the same props on a phone
Once UI 2.2: chat, forms and mobile
Dither: your own image or video as a dithered print
Once UI 2.1: The pieces apps kept asking for
Once UI 2.0: A system an AI can build with
What made Once UI 2.0 possible
Once UI 2.0 alpha: Measured, not assumed
Colour arrives in pairs
Once UI 1.8: Polish as a feature
Once UI 1.7: Form with Intent
From products to systems: a new service model
Magic Journal: A different medium for long-form writing
Supa Social: The next milestone of our journey
Once UI is open source. Here's how we plan to keep it that way.
Designing a timeless, AI-native brand
Once UI 1.5: Curiosity in code
Once UI 1.4 migration guide: The breakpoint object
Launching in the AI-native era: A guide for indie builders
The first design system for indie builders
Builder Stories
Side and Once UI: From café website to reservation system
SatisPro and Once UI: Scaling smarter review management
IQON and Once UI: Scaling with a design system
Dev: Blending science and code with Once UI
JExcellence and Once UI: Turning experiments into enterprise apps
OsmyReal: Launching a platform for mobile gaming with minimal coding
TrademarkTrademark
Ctrl k
Search…
Sign up
Once UI Blog
Builder stories
Posts
Once UI
Once UI Stack chat: an AI chat with a face
Once UI 2.5: reactions that move
Once UI 2.4: ready for AI apps
Once UI 3.0 beta: one way to say it
Stack languages: your app in Hungarian, or in two
Stack store: your shop on your own site
Liquid Metal: chrome that never sets
Chirio, redesigned
Styled screenshots in Chirio
Once UI 2.3: made for real apps
Frametic is now a video and capture studio
Agents write about 40% less code from Stack
Magic Portfolio, now on Once UI 2
Frametic MCP: let your agent film your site
Once UI Stack: your site as a desktop app
Once UI Stack, redesigned
Stack: teams and billing
Prism Glow: soft prism light behind your sign-in screen
Once UI for React Native: the same props on a phone
Once UI 2.2: chat, forms and mobile
Dither: your own image or video as a dithered print
Once UI 2.1: The pieces apps kept asking for
Once UI 2.0: A system an AI can build with
What made Once UI 2.0 possible
Once UI 2.0 alpha: Measured, not assumed
Colour arrives in pairs
Once UI 1.8: Polish as a feature
Once UI 1.7: Form with Intent
From products to systems: a new service model
Magic Journal: A different medium for long-form writing
Supa Social: The next milestone of our journey
Once UI is open source. Here's how we plan to keep it that way.
Designing a timeless, AI-native brand
Once UI 1.5: Curiosity in code
Once UI 1.4 migration guide: The breakpoint object
Launching in the AI-native era: A guide for indie builders
The first design system for indie builders
Builder Stories
Side and Once UI: From café website to reservation system
SatisPro and Once UI: Scaling smarter review management
IQON and Once UI: Scaling with a design system
Dev: Blending science and code with Once UI
JExcellence and Once UI: Turning experiments into enterprise apps
OsmyReal: Launching a platform for mobile gaming with minimal coding

OsmyReal: Launching a platform for mobile gaming with minimal coding

OsmyReal's journey to launching a marketplace for mobile gamers with Once UI.
Updated 8 days ago
JExcellence and Once UI: Turning experiments into enterprise apps
Sponsored
Aveiro
aveiro.app
Sponsored
Aveiro
aveiro.app
TrademarkTrademark
Once UIDocumentationBlog
© Once UI. All rights reserved.
Built with Aveiro
5 min · Beginner · Start
Once UI turns layout and styling into semantic props — so you (and your AI agent) write less code that stays correct longer.

The idea

Most design systems give you components and leave you to wrestle with CSS. Once UI goes further: layout, color, spacing, and typography are all expressed as props on semantic components. That means:
  • <Column gap="16"> instead of flexbox boilerplate
  • background="surface" instead of hex colors
  • textVariant="display-strong-l" instead of font-size + weight classes
The goal is maintainability — for humans reading the code six months later, and for agents generating it today.

Agent-first, human-friendly

Once UI ships a codegen harness alongside the React library:
Artifact
Purpose
`rules.compact.md`
Do/don't tables for layout, surfaces, motion
`catalog.json`Pick components by purpose and tags
`tasks/*.json`
Intent bundles (pricing page, chat UI, auth flow)
`validate-ai-code`Mechanical check for common mistakes
Humans learn the why here on Learn. Agents load the how from the harness. Both follow the same rules.

Three principles

1. Semantics over implementation Use Row and Column — not Flex direction="row". Use Media — not <img>. The component name tells you the intent. 2. Tokens over raw values Spacing uses a fixed scale ("8", "16", "24", "104"). Colors use schemes (brand-medium, neutral-alpha-weak). Never hex, never arbitrary pixels in props. 3. Composition over configuration Pages are built by nesting Column → Column maxWidth="l" → sections. Decoration layers sit outside the content column. Patterns repeat — page skeleton, static panel, interactive card.

What you'll learn here

Section
Covers
**Start**Install, first page
**Foundations**Layout, spacing, color, type
**Patterns**Reusable compositions
**Tips**Quick fixes for common mistakes
**For agents**Harness workflow and validation

Next step

→ Install & config