A rules layer for AI-generated interfaces
Reckon is a rules layer for design agents building the software nobody demos: every figure traces to real data, every action fits the record it sits on, every state is drawn before a user finds it.
Four ordinary widgets, exactly as an agent first generated them — watch each one correct itself. Nothing about the styling changes. Only the figures, the actions and the states that were never true underneath.
A design system whose product is the rules. It ships components and tokens, but those are the easy part. What it actually carries is a rules layer that tells a design agent how to assemble a screen and derive the numbers on it — for dense, record-centric software where people act on a queue before a clock runs out.
One convention runs through everything. Status is data; derived state is not — overdue is computed, never stored. And a new status value is never absorbed on the model’s judgement. It stops and asks.
Specialised guidance for the parts every business app grows: shells, work queues, record pages, decision surfaces. Each one names three expressive choices and a reason for each — the room where your product becomes recognisably yours.
Components and tokens you can point at your own brand, packaged so Claude Design picks them up on load. And where a rule can be enforced rather than described, it is — pagination derives its own total, so a footer cannot carry an invented number.
Ask an agent for an operations screen and you get something that photographs well. Then you read it. The expensive rework here is semantic — a figure that will not reconcile, a control that lies about when it applies — and no component library touches any of it.
01What the rules add →A total written as a literal, sitting above rows that contradict it, that nobody can trace back to any data.
02Controls that lieThe same action on every row — including a record the data settled fourteen minutes ago.
03Undesigned statesLoading, empty, filtered-to-nothing, error, permission-denied — the screens an engineer has to invent later.
The brief named a job, not a screen. The rules add what a brief never says out loud: totals name their rows, settled records are not offered actions, routes exist and status values are a closed set. Nobody reverse-engineers intent from a picture.
02Who should use this →Cargo claims, recruitment, payment operations, talent representation, marketing, an AI tool, a ward desk, a home desk — more in progress. Each has its own routes, status values and data. And the data is deliberately hostile: the awkward cases a client finds in week one.
03Browse the showcase →Damage claims against a container line. Liability caps, filing deadlines that cannot be extended, evidence that gates the decision.
Time-barred before you open it02Matching a roster to brand briefs. A creator locked by exclusivity while a matching brief is open; a held payment traced to an overdue invoice.
A brief nobody on the roster fits03A chat workspace with its own meter, where the context window, the cycle bill and the seat count are all recomputed from the same messages.
A file the index could not read04Money arriving, payouts waiting on an approval, and what the company spent on its own cards — every figure reconciling against the rows beneath it.
A payout nobody here can releaseNot hypotheticals. Each is a specific way generated business UI goes wrong underneath a finished-looking surface — and each has a rule written against it.
04How the rules hold →Written guidance drifts. The model reads it, agrees with it, then violates it on the fourth screen. So the rules are held three ways — and the strongest do not depend on the model’s judgement at all.
05How it works →The strongest rules do not depend on the model agreeing with them. A footer derives its own range and total from the array beside it, so there is nowhere to type a number that was never true.
This is the layer that shapes the first draft, and the layer that can drift. Naming it as such is the reason the other two exist.
And when something falls outside the set, the system does not decide for you. It stops and asks — slower, and correct.
Everyone generating business UI already has components. What they lack is anything that makes the output true underneath. The standard here is what a real team has to undo before it can build.
06What it costs →No tiers, no seats, no renewal. Reckon is free and stays free — what I sell is the work of applying it to a product that already exists.
The rules, the components and every worked product. Clone it, point the tokens at your brand, and use it on client work without asking me.
Free because the rules are worth more once people use them.
I wrote these rules over twelve years of building this kind of software. The layer is free; the judgement behind it is what I do for a living.
Not that it looked better. That the screen agreed with itself, and nobody had to check.
Eight screens that felt like they were designed by the same person on the same day. That is the part I could never get out of a generator.
An invoice behaved like an invoice on every screen it appeared on. Same label, same states, same actions available in the same order, whether it was a row in a list or the whole page. We used to lose a week reconciling those differences after the fact — three designers, three mental models of the same record, and nobody noticing until QA. Here the model of the domain was decided once, and everything downstream inherited it.
It stopped giving me a dashboard when what I described was a queue. Somebody has clearly thought about the difference between software you read and software you act in — and the numbers on it are load-bearing rather than decorative, which is the same insight applied twice.
The most severe row is the one you see first. Sounds obvious. Nothing else does it.
Empty, permission-denied, filtered-to-nothing, the record somebody archived last week. Those screens are most of the actual experience in an internal tool, and they are the ones that never make it into the mockup that gets approved. Having them arrive designed changed what our handoff even means.
The questions a sceptical lead asks before they will put an unfamiliar file in front of their team.
07Back 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
Components are the easy part. What you are missing is the layer that decides what gets computed, what gets shown, and what gets refused.