These are not hypotheticals. Each is a specific way generated business software goes wrong underneath a surface that looks entirely finished — and each has a rule written against it. Each is shown here as a working screen.
A figure sitting above the rows it claims to summarise, written as a literal. It looks calculated, so nobody checks it until a customer does.
Every figure names the data it comes from. Filter the set and the figure moves, because it was never independent.
The heading says Overdue invoices. The list is every invoice, sorted by date. The title was written as a label rather than as a filter.
A titled list is a query. The title states the filter, and the rows are what the filter returned — never a superset of it.
A filter reading All statuses (11), where 11 was the number of records. It looks like a count, so it is never questioned.
A count names its set. If it cannot say which array it counted, it does not render.
Sorted by recency, because recency is what the data had. The claim that expired last week is on page four, below three that are not urgent at all.
Severity orders an operational list; recency is a tiebreak. The screen leads on what the operator must act on first.
A footer reading Page 1 / 2 on a set of one, because the page count was rounded rather than derived. Page two is blank.
This one is compiled rather than stated. Pagination derives its range and its total from the real set, so there is nowhere to type a number.
A confirmation offering to void an invoice the data settled fourteen minutes earlier. The row looked like every other row.
Status is data; derived state is not status. The action is read from the record, and the count above stops calling it actionable.
A second-factor prompt with no recovery link, no support route and no way back to sign-in. Correct for the person who has their phone, and a dead end for everybody else.
Every screen states its exits. A surface that can trap somebody is not finished, however well the happy path renders.
A trail rendered from the URL rather than from real routes. Half the segments resolve to nothing — and it is always the one you wanted.
Breadcrumbs are navigation, not decoration. Every segment is a route that exists, and the current page is text rather than a link.
The shell hides its own content when the sidebar collapses, because the layout assumed a fixed width. Nothing is wrong with the data. The screen is simply blank.
A shell is a component with states. Expanded, collapsed and every width between are verified, from phone width to wide desktop.
The last row’s actions open inside an overflow container and are cut in half. The action exists, and cannot be reached.
Overlays are portalled out of scrolling regions, and flipped when they would otherwise leave the viewport.
The questions a sceptical lead asks before they will put an unfamiliar file in front of their team.
11Back to the top →It ships components and tokens, but that is not what you are buying. The product is the rules layer that decides what gets computed, what gets shown and what gets refused — plus the machinery that makes those rules checkable.
It is built for Claude Design users generating business UI. Because the layer is plain markdown loaded as project instructions, anything else that reads a rules file will use it too. There is nothing proprietary to integrate.
The tokens are yours to set and brand fit is a config change. The judgement rules are not configurable, because that is the product. If you want a different opinion about derivation, you want a different product.
The rules are written against behaviour rather than internals, so upstream releases move underneath them. Where a rule does need to change, it changes in one file you can read in an afternoon.
Marginally slower on the first generation. Considerably faster by the fourth, because you are not re-prompting it to fix a total that never tied.
Reckon
None of this is styling. It is the part a design or development team has to undo before they can build on what came out.