← All field notes

AI-assisted development · BUILD LOG ·

Why I Stopped Designing While Coding With Codex

The code was getting generated quickly. The slow part was deciding what the page should become while it was already being built.

When I started rebuilding my portfolio with Codex, I would ask it to build a section, open the result, change the visual direction, adjust the copy, then ask for another version.

The code was usually generated quickly. I was still deciding what the page should become while it was being built.

The WordPress case study was where I noticed this most clearly. Copy, diagrams, motion, the order of the evidence and spacing were being reviewed while individual sections were already being implemented. Each screenshot could reopen the same decisions.

For the remaining pages, I changed the order:

GIVE THE DECISIONS A PLACE TO HAPPEN

Earlier loop

  1. 01Idea
  2. 02Build
  3. 03Screenshot
  4. 04Review
  5. 05Redesign
  6. 06Rebuild

Revised handoff

  1. 01Research
  2. 02Visual direction
  3. 03Concept
  4. 04Review
  5. 05Lock
  6. 06Implementation
  7. 07QA
The earlier loop revisited design during implementation. The revised handoff places concept review before implementation.Download this diagram (SVG)

I still use code to explore an uncertain interaction. The change was to choose the larger visual direction before asking Codex to build the page around it.

01 / OBSERVATION

Give each stage something concrete to hand over

For the remaining pages, I asked for desktop and mobile concepts before changes to the application.

The Field Notes index is one example. I approved a direction called Papers: an index presented as working-paper sheets, with ink and cobalt accents and a shared article layout.

FROM AN APPROVED DIRECTION TO A LOCAL PAGE

Papers concept

Illustration of the approved direction.

Papers concept illustration: three complete working-paper sheets, numbered 01 to 03, with ink titles and cobalt accents.View full image

Local implementation

The actual Notes index and its first article.

Actual local Notes index, including its opening and the complete first paper for Turning 391,724 Messages Into a Story, Not a Dashboard.View full image
Concept illustration recreated from the approved Papers direction. Implementation screenshots captured from the local Notes index on 18 October, with separate desktop and mobile views.

That gave implementation a selected format to preserve. Mobile title spacing and link behaviour still needed attention, but those refinements could happen within an agreed direction.

The handoff needed more than a screenshot. It also needed the important content, the behaviour to preserve and the checks to run. A short brief can hold those decisions without specifying every pixel.

02 / OBSERVATION

Use references to identify a principle

I looked at UI references for transitions, scrolling layouts, masks and hover states. A library could help me describe a behaviour without becoming a dependency in the project.

The useful question was what to carry into this page. A reference could suggest how a surface responds to the pointer; the brief still needed to explain how a visitor would reach the article link.

One approved requirement for Papers was a fixed hover area. The paper could lift in response to the pointer, while the area detecting that pointer stayed in place. Otherwise, moving the sheet could move the hover boundary underneath the visitor's cursor.

ONE SPECIFIC BEHAVIOUR TO PRESERVE

A fixed dashed hover boundary contains a paper surface that can lift without moving that boundary.
Outer hover area
Stays fixed.
Paper surface
Can respond to the pointer.
An illustration of the approved stable outer hover area. It explains the requirement; browser checks still need to establish the implemented behaviour.Download this diagram (SVG)

That is something a browser review can check: move onto the paper, then towards its link. The hover area should stay stable. Reaching and opening the link with a keyboard needs a separate check. These are requirements; a diagram alone does not prove they pass.

03 / OBSERVATION

Lock a baseline, then test where it breaks

Approval did not end the design work. A built page could still reveal a mobile reading problem, an inaccessible control, misleading evidence or an interaction that behaved unexpectedly.

Those are reasons to revisit a decision. A newly found effect, on its own, is a weaker reason to reopen the page's visual identity. A defect needs a correction; a proposed new direction needs a decision about what changes and why.

Small prototypes still have a place when an interaction is difficult to judge from a static concept. Exploring that uncertainty does not have to commit the rest of the page to a new design.

For the next AI-assisted build, I would hand over five things: the page's purpose, its important content, its main behaviour, its mobile differences and the checks to run. The example below combines the Papers direction with suggested acceptance checks.

A BRIEF TO KEEP BESIDE THE IMPLEMENTATION

A design brief to adapt

This example combines the approved Field Notes direction with suggested acceptance checks. It is a reusable brief, rather than a transcript of the original prompt.

01Reader goal
Help a visitor choose a note, open it and continue reading.
02Content hierarchy
Show the title, topic and summary before asking the visitor to open the article.
03Main interaction
Open a note, move through its sections and continue to another article.
04Hover constraint
Keep the outer hover area stable while the paper responds to the pointer.
05Mobile check
At the review width, inspect wrapped titles, summaries and links for clipping or overlap.
06Keyboard check
Reach and open the article link with the keyboard, with a visible focus indication.
07Review boundary
Compare the implementation with the approved direction. Treat a proposed new visual direction as a separate decision.
Download the editable brief (Markdown)
The selected direction and the checks to carry into implementation.Download this diagram (SVG)

Before asking Codex to build, I would check that the brief names those decisions and leaves any unresolved question visible. During review, I would compare the page with that brief and inspect the actual behaviour.

TRACE

Capture stopped

Local only · clears on refresh

Earlier records remain until cleared or refreshed.

0 interactions recorded

Capture stopped. Turn TRACE on to record approved interactions.