Full-width hero, three cards, a strip of numbers, a form, a four-column footer. Every time. Whatever the trade, whatever the client, whatever the colour. These pages came out of a generator I have been building since June 2026 to offer a client a redesign of their site, in several art directions.

For weeks, I corrected the wrong things. A slightly dull colour, spacing too loose, one shadow too many. The prototype came out cleaner and just as recognisable. The problem was in what I had stopped looking at: the overall shape.

Eight shrunken mockups, in two rows of four Top row, four pages with a strictly identical structure: banner, three cards, strip of numbers, form, footer. Bottom row, the same four contents recomposed, each with a different structure. SAME TEMPLATE, FOUR CLIENTS ONE SECTION, ONE COMPOSITION
Top row: four clients, four trades, four palettes. A single page.

Repetition is judged at three scales

At page scale, it is the macrostructure: six sections following one another on the same pattern. At the scale of repetition, it is two consecutive sections built on the same template. At block scale, it is a section lining up N entries at equal weight, a table disguised as design.

All three are independent, which is why they get through. A page can be varied as a whole and stacked with cards on the inside. My rules file, anti-slop.md, ended up being split along exactly that line, because three waves of fixes kept missing one another. The first paragraph judges the page, the second the repetition, the third the block.

The day I added the third, the first two were green and the « services » section was still unreadable: eight rows at equal weight, two of them entries of two words. The intent note said, honestly, « index of services in rows, each service on its own row ».

The three scales where repetition shows Three crops of one page side by side, from narrowest to widest, all sitting on the same bottom line. On the left, the smallest and tallest: six stacked bands, all drawn the same way, a banner then three cards. In the centre, a wider, shorter crop on just two bands, drawn identically one under the other. On the right, the widest and shortest crop, drawn in the accent colour: eight stacked rows of equal height, two of them clearly shorter than the other six. Under each crop, two lines: its name, then what it contains. REPETITION IS JUDGED AT THREE SCALES ALL THREE ARE INDEPENDENT the « services » section the page the repetition the block six sections two consecutive sections eight rows at equal weight
The first two levels can be green while the third stays unreadable.

The card is the lazy container

A row of identical cards, icon then title then text, repeated section after section.

Taken in isolation, a row of cards is one composition among others. Repeated, it is giving up: the generator has stopped deciding the shape of each section and applied the default container.

The rule that ended up holding: one section, one composition. If two consecutive sections are two rows of cards on the same template, one of them must be rewritten, as a dense list, a full-width band, alternating text and visual, an editorial column.

The threshold is a count. Two sections of cards on the same template, blocking. Just one, nothing to say. That is what lets a machine apply the rule without starting to overcorrect.

What made it onto the list, and why

Each entry comes from a real case.

The em dash. No common keyboard types it. Its presence in a site’s text signs the generation. Colon, comma, full stop or parentheses carry the same nuance without betraying it. It has become a lint error.

Italics on a heading. The most reliable typographic tell after the em dash. All headings are roman. To set a heading apart: weight, colour, size, a rule.

The key-figures strip. Three boxes of big number over small label, « 20+ years », « 100% », « 48 h ». It is a recognisable template. When the client’s real numbers deserve to be seen, they fit into a sentence or a timeline specific to the trade.

Decorative numbering, 01 then 02 then 03 in front of steps. The reader can count, the layout already carries the order, and the counter takes the title’s place. You number when the number serves elsewhere, in a cited reference or in a process the client talks about as « step 3 ».

The systematic eyebrow, that small tracked capital above every section. Used once, for what it signals, it is a system. Everywhere, it is a grammar nobody chose.

Each of these findings can be checked on a screenshot, by someone who did not write the page. That criterion is what got a rule onto the list, and took the others off.

Being right in the system’s units

The touch target of a menu button must be 44 px, in absolute value, never a token from the scale. Because the scale is fluid, and the token named « 48 » drops to 30.5 px on a 390 px wide screen. The drawn sign, for its part, stays at 24 px: finger comfort does not dictate the size of the drawing.

An instruction with the right intent, « big button », gives a wrong result if the system executing it has its own laws.

And the limit of all this

My file ends with ten questions the generator must answer yes to before handing over its work. A single no, and it corrects before concluding. It works, partly.

A generator assessing itself on its own code answers the ten questions from what it meant to write, not from what is displayed. It ticks « distinct macrostructure » because it stated it in its intent note. The note is sincere and the page is generic.