The same rules do a different job depending on who is holding them. A designer gets room to decide. A developer gets output that compiles. A team gets eight screens that agree with each other without anyone policing it.
Nobody became a designer to decide, for the fortieth time, what an empty table should say. Those decisions are made once and written down, which leaves the ones that actually distinguish a product.
01For developers →A system that only constrains produces identical products, so every shell has to name three expressive decisions and give a reason for each. That is the part a generator cannot do for you, and the part worth your afternoon.
The expensive part of a handoff is not the CSS. It is the half-hour spent working out where a number came from, whether that button should exist on a closed record, and what the screen does when the list is empty.
02For teams →Three of them are held in the components themselves, which means they are not advice. A footer takes rows and derives its own total; there is no prop to pass, so the rule cannot be broken by ignoring it.
Generated interfaces drift. Not badly on any single screen — badly across eleven of them, built on different days by different people, each defensible and none of them agreeing.
03Whether it fits →Consistency enforced by review is consistency that lasts until the reviewer is on holiday. Rules held in components and checked by an audit hold whether or not anybody is watching, which is the only kind that survives a second team.
A layer that claims to suit everything suits nothing in particular. This one is aimed at a specific kind of software, and it is worth saying which.
04Back to the top →Software where a wrong figure is a support ticket and a missing state is a phone call.
Work where the judgement it encodes is beside the point, or actively in the way.
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.