An Engineering-First Design System for Complex Apps

As creator and UX engineer of TwoUX (opens in a new tab), I built an engineering-first design system that makes UX decisions explicit for engineers and AI agents, and enforces quality before inconsistent experiences reach production. As the only designer among 15+ developers, I can't review every screen an AI agent generates. TwoUX means I don't have to.

Role: Creator & UX Engineer | Scope: UX Research · Design System · Front-end Dev · AI Tooling | Year: 2026 | Status: Public beta

Problem

Building got faster and cheaper. So did inconsistency.

Building, creating and shipping UI has never been faster or cheaper. Consistency didn't come with it.

AI doesn't fix the mess. It scales it.

Engineers build through coding agents, often with no designer in the loop and no Figma file to check against. Design systems ship components, not decisions, so the agent picks the nearest piece and fills every gap with a guess. Each guess looks fine on its own: a disabled button, a modal with a hidden close icon, a toast with an error message.

Together they turn one product into five: duplicated components, accessibility fixes and screens that each behave differently.

13:1

engineers per designer in AI-company job postings

4×

more cloned code since AI coding assistants

0

rules on when not to use a dialog in the docs of popular component libraries

1 Applied Methods, analysis of 9,281 open roles at AI companies, 2026. 2 GitClear, AI Copilot Code Quality 2025, 211M changed lines, 2020 to 2024. 3 Dialog pages of shadcn/ui and Radix, checked November 2026: API and examples, no guidance on when to use or avoid it.

The design systems out there weren't built for this. Most give you components, often basic ones, and stop there: written for people browsing docs rather than agents, light on the dense tables and grids B2B products run on, silent on which job a component is for or how a flow behaves, and with nothing to stop an agent shipping AI slop.

Every component page explains when to use it, when not to, and why, with numbered sources.

Key Decision

Put the knowledge of the best UX minds in the repo

I didn't need more components. I needed what the best UX designers and the design systems of market-leading products already know, written down where every agent can read it and every check can enforce it.

TwoUX is a research-backed knowledge base built on UX expertise. It decides the UX, not only the look: which component fits which job, how a flow behaves, when to confirm and when to offer Undo. None of it is an LLM's opinion. Every decision is grounded in usability research from the Nielsen Norman Group and others, WCAG, WAI-ARIA and the design systems of major SaaS products, and every component page explains its decisions with numbered sources.

120
components
122
UI decisions
46
patterns
8
example apps
Agent Experience (AX), on both sides. Designing for AI agents as users. Coding agents get rules they can read: AGENTS.md, llms.txt, skills and an MCP server, all set up with npx twoux init. People who supervise agents get components for plans, approvals and permissions.
A knowledge base, not a component list. Every UI decision maps to one component and what to use instead, with its reason and numbered sources.
Complex, never complicated. Dense tables, spreadsheet grids, charts and agent interfaces. Keyboard-first, light and dark, with the right states and motion built in.
Guardrails over guidelines. twoux check lint, a Claude Code guard hook, a browser audit, and a theme that refuses colours that fail WCAG.
Eight example apps show TwoUX at full density: an on-call operations console, a trading screen, a data workspace, an agent workspace, hiring workflows, a CRM record, a hiring dashboard and sign-up.

Outcome

Consistency without losing velocity.

I tested it the way a team would use it: fresh Claude agents, 11 real developer requests such as "build a candidates page" or "just edit the button", and no mention of TwoUX's rules.

0 of 14

agents changed the design system when nobody asked them to

10 of 10

planted UX mistakes caught by each model, 4 of them invisible to a linter

8 of 8

planted problems fixed in every run on an app not built with TwoUX

The mistakes only the rules could catch were exactly the judgement calls a designer would make: a modal for record detail, a disabled submit, an error in a toast, a delete with no Undo. And the knowledge travels: in principles mode it fixes apps that don't use TwoUX's components at all.

And it shipped. TwoUX is live at twoux.com, open on GitHub and on npm as a public beta, free to use.

Results from five rounds of agent evals with Claude Opus, Sonnet and Haiku in November 2026, 11 tasks, one run per task and model. Build figures from round 2, principles mode from rounds 4 and 5. Codex and ChatGPT not tested yet.

Process

Built by a UX engineer, for engineers

Being the only designer among 15+ engineers and Claude Code showed me how fast broken components and poor UX scale, and how ugly it gets. So I took it personally. I work with brilliant engineers who solve hard backend and infrastructure problems every day. For UI and UX decisions, they lean on a coding agent, and the agent guesses, and sometimes it hallucinates.

I didn't want to be the bottleneck reviewing every screen. I wanted every engineer to ship as if a senior designer sat beside them.
01
Research

A decade of UX decisions I kept explaining in reviews, checked against the Nielsen Norman Group, WCAG, WAI-ARIA and leading SaaS design systems. Each answer became a rule, a UI decision or a pattern step, with its source: 604 links, all checked.

02
Generate

Components are generated from shadcn's untouched source by a script, so the API stays familiar. The docs site and the agent files come from the same content, so people and agents get the same answer.

03
Test

Five rounds of agent evals tested TwoUX too: one caught a CSV import that read 02/11 as 11 February. Every failure became a fix or a new check.

Claude logo
AI Knowledge
AGENTS.md, llms.txt, MCP server, skills for design, writing, build and audit
React logo
Components
React 19, Tailwind v4, shadcn/ui and Radix
Guardrails
Lint, guard hook, browser audit, contrast-checked theme
Docs site
Live examples, usage, accessibility and API per component
Next Project
Designing Trust in AI-Generated Code →
AI / Automation Product Design Branding