A design studio we work alongside is moving its portfolio to a new website. Some projects were built by hand for the site. 24 were ported from Behance — and when we finally read them as pages instead of boards, they all had the same shape: hero, a paragraph of context, a statement, a grid of four images, a process block, a grid of five, a closing statement. Every project. Images in file order. The port had also quietly capped each project at twelve images, so chapters were missing and nobody had noticed.

Behance boards are 1400 pixels wide. In a three-column grid on the site they rendered at about 466. Every word on them was unreadable — and every word on them was also invisible to search engines and screen readers, because it was a jpeg.

So the brief was simple to say and long to do: rebuild 24 case studies to the structure that curated case studies actually use, lift every sentence out of the images into real text, and do it before launch.

one by hand first

We didn't start with the agents. We started with one project, rebuilt by hand into the structure we wanted. That page became the reference implementation — and the act of building it produced the rules.

The rules ended up as eight numbered points in a markdown file. The first one is the one we care about most:

No text on images. Ever. Text baked into a jpg is unsearchable and unindexable. Every sentence on a Behance board is lifted into a real block. Boards that are mostly text are dropped as images. Boards that mix text and a substantial visual are cropped.

The others are smaller and just as specific. A 1400-by-70 pixel band that says "color palette" is a chapter label, not an image. A crop narrower than 900 pixels never goes full width, because it upscales soft. A board taller than it is wide never runs full width either. And the one that kept everyone honest:

Only what the boards say. Do not invent outcomes, clients' results or claims. If a chapter has a visual but no text, write a one-line factual lead from what is visibly there and mark it ⟨needs copy⟩.

That file is the actual product of the afternoon. The prompt to each agent was, more or less, "read this file, here are your six projects, follow the reference page."

four agents, two tables

We split the remaining 23 projects into four batches and ran four agents in parallel. Each one rebuilt its projects and, when it finished one, wrote a row into a status table: project, how many boards, which boards it used, how many chapters, what it dropped, what it wasn't sure about.

The second table is the one I'd do again on any project. It's called decisions for Sam. When an agent hit something it couldn't decide, it didn't decide. It added a row: project, item, the question, and a default that would apply if nobody answered.

flow: one project rebuilt by hand becomes the reference page and produces the recipe file of eight numbered rules; four agents rebuild the other 23 projects in parallel. for each item: if it does not touch a claim, a credit or a client, the agent rebuilds it to the recipe and logs a status row; if it does, it adds a row to the decisions-for-sam table with a question and a default and leaves the answer blank — 34 rows by the end of the day, still open. what stayed human: 21 thumbnails changed by eye, the 34 decisions, 22 chapters marked needs copy, the taste call each pass; the second pass cut process blocks from about 140 to 61
fig. the agents notice everything and decide nothing that touches a claim, a credit or a client

By the end of the day the table had 34 rows. A few of them:

  • A board states a business result for the client, with nothing on the board or in the brief to back it. Publishable? Default: keep.
  • Another makes a sales superlative about a client's product. Publishable? Default: keep.
  • A closing line with an audience figure came from the old port and not from any board. Keep? Default: keep.
  • An artwork in one photo is signed by someone who isn't the client. Whose piece is it, and does it belong on the page? Default: keep, uncredited.
  • One board carries copy that belongs to a different project. Default: leave it off the site, flag it at the source.

(Edited Oct 17: these rows are written as categories now, not quotes. The exact wording would identify the studio and its clients, and the categories are the part that transfers.)

None of those are things I want an agent deciding. All of them are things I want an agent noticing. That split — notice everything, decide nothing that touches a claim, a credit or a client — is the part that made the speed safe.

The agents also caught the small stuff: an empty board one pixel square, two palette swatches printing the same value, a collaborator's name spelled two ways.

the second pass

When the 24 pages were up on the preview, the feedback was the true thing: feels too much text and too repetitive. Every chapter had become the same block — lead plus body beside an image — and the pages read with one breath.

So we wrote a second, shorter rule set. Five text modes: an intro, a statement, a chapter, a prose paragraph, and a columns block for the detail chapters (logotype, color, type, applications). One rule governs them: never the same mode twice in a row, and columns always sit between images. We rebuilt two pages that way, got a "yes, better, way better," and rolled it to the other 22.

Process blocks across the 24 pages went from about 140 to 61.

what stayed human

The thumbnails. "They have to be the most visually striking ones" is not a rule an agent can run, so that was a person, project by project — 21 of them changed.

The 34 decisions. Still being answered.

The 22 chapters marked ⟨needs copy⟩, where the boards had an image and no words and we refused to let anyone invent any.

And the taste call at the end of each pass: better or not. The agents can rebuild 23 pages in the time it takes to review one. They cannot tell you whether the result reads like your studio.

the catch

  • It's not live. The pull request is still open, with those 34 rows waiting. "24 in an afternoon" is true of the rebuild, not of the launch. The human part has its own clock.
  • The recipe only exists because someone built one by hand. Skip that and the agents will happily converge on a shape that's wrong 24 times in parallel.
  • "Only what the boards say" costs you copy. 22 chapters came back with a one-line lead and a ⟨needs copy⟩ tag. That's the honest version of fast. The dishonest version writes the missing paragraph and sounds great.