How I work with AI

How I work with AI, and how I keep it on track.

AI rarely fails in an obvious way. It gives you work that looks finished and sounds confident, but is slightly wrong. So I let the model generate, and I stay the person who decides what we're aiming for and whether the result is good enough to ship.

01Guide

Write down what the work is for before starting, and restate it, so there's a clear target to check against.

02Standard

Write the system down in role prompts, tokens and a project standard, so drift is something you can point to, not a matter of taste.

03Final call

Nothing ships until it passes the checks, and a person signs off, not the model.

04Own it

The work goes out under my name, so the judgment on it is mine.

A review pass that catches drift before it ships

example
About this playbook
Topic
Working with AI
Scope
All my work
Pairs with
AI Design Lab
Form
Standard
00 · Why this exists

What I do, and what I let AI do.

AI made producing work cheap. So my value moved to the parts a model can't own: setting the standard, choosing which option is good, and making sure what ships is true. This playbook is how I work with every AI tool, so a plain instruction gets me work that actually fits my system, not work that only looks like it does.

How this differs from the Lab. The AI Product Design Lab is about designing AI products that people can trust. This playbook is about how I use AI myself to make everything else in this portfolio.
01 · How AI drifts

Seven ways AI work drifts, and how I catch each one.

"Stay in control" is advice nobody can act on. What helps is knowing the specific ways AI work goes wrong. There are seven. Each one has a sign you can learn to spot, and a check that catches it.

1System drift

The sign: the output stops matching your tokens and conventions, but still looks finished.

The check: compare it against the design system. The system is the source of truth, not the latest output.

2Intent drift

The sign: it answers the prompt but loses sight of the problem behind it.

The check: write the problem down and restate it, so you have something to measure the answer against.

3Confidence drift

The sign: it makes up file paths, metrics and APIs, and states them as calmly as facts.

The check: every claim has to trace to a real source. Sounding sure doesn't make it true.

4Agreement drift

The sign: it repeats your view back to you instead of giving the second opinion you asked for.

The check: ask it to argue the other side, then judge the argument, not whether it agrees with you.

5Average drift

The sign: it falls back to the most common pattern and drops the choices that made the work yours.

The check: the model has no taste of its own. You make the distinctive calls, every time.

6Memory drift

The sign: in a long session, it brings back decisions you already rejected.

The check: keep decisions in a written standard, not in the chat. The chat is not a record.

7Accumulation drift

The sign: each step passes review, but together they end up somewhere you never approved.

The check: review the whole thing, not just the latest change. At the end, check the work against what you set out to do.

What all seven have in common. The model aims for what sounds right. I need what is right. Closing that gap is the part of the work that stays with a person.
02 · Six rules

The six rules everything else is built on.

  1. Intent is the artifact you own. Intent means what you actually want. The prompt is just one way of writing it down. If you aren't clear on what you want, no prompt will fix the output.
  2. Context is the work. A plain instruction only gives results that fit your system if the setup around it was built for that. Building that setup is your job.
  3. The model proposes, you dispose. The model can produce lots of options cheaply. You pick the right one, and that is the real work.
  4. Verify before you trust. Output that reads well isn't proof that it's right. Everything the model makes passes the checks before it counts as done.
  5. Keep a human legible trail. Write down why, not just what, so the next person or agent can follow the reasoning.
  6. Taste does not transfer. The model can follow a standard once you set it. It can't come up with the standard. That part stays with you.
03 · What I give the model

What the model gets before any work starts.

This is what makes good results repeatable instead of lucky. Before work starts, the model gets three things. With them, a request like "make me a case study page" already follows my conventions, my voice and my quality bar.

  • Role specific system prompts. Standing instructions written as personas, one per discipline: architecture, full stack build, content, growth and discovery. Each one carries the standards of that craft, so the model starts out working like someone in that role.
  • A project operating standard. A document kept in the root of the repo. It covers git habits, folder structure, backups and how to hand off between sessions, so whoever picks the work up next, me or the model, can carry on cleanly.
  • A precise brief. The problem in one line, the constraints that can't change, and what done looks like. Short, but exact. This is where the goal gets pinned down before anything is generated.
Why it matters. This context decides whether a plain instruction fits the system or drifts off it. Set it up once, and the same instruction gives better work every time you reuse it.
04 · The eight phases

Eight phases, from a vague request to a shipped product.

This covers the whole process. The early phases turn a rough request into a clear goal. The later ones measure what shipped. For each phase, the table shows what I own, what the model does, the drift most likely to show up, and the check that catches it. My other playbooks plug in where noted below.

PhaseYou ownThe model doesMost likely driftThe check
FrameThe real questionDrafts ways to frame it, points out unknownsIntentWrite the one line problem yourself, first
DiscoverWhich signals are realWidens research, groups interview findings, drafts the forces of progressConfidenceEvery finding traces to a real source
DefineWhat's in and what's outProposes problem statements and scope optionsAverageName the bet, how success is measured, and what's out of scope
DesignThe system and the tasteGenerates options from the component librarySystemTokens and components are the source of truth
BuildThe architectureWrites the codeAccumulationSmall changes you can review, with each file staged by name
VerifyThe checksRuns the checks and reports backConfidenceEvery check runs before anything is called done
ShipThe decision to releasePrepares the deployAccumulationA restore point first, then a deploy that passes its checks
GrowWhat to measureDrafts experiments, reads the analyticsAgreementDecide the metric, and when to stop, before the test starts
  • Discover and Define use my Discovery to Scope playbook: Jobs to be Done to find the real job, and the Double Diamond to explore widely and then narrow down.
  • Design runs inside my Figma Operating System. The agent works in the file, and the naming, tokens and status labels keep it on system.
  • Build applies the Interface Content System to every piece of text the model writes, so the copy stays in the customer's voice.
05 · The verification gate

The checks every output has to pass.

This is what "a person makes the final call" looks like in practice. Nothing the model makes goes live until it passes these five checks. They are actually run, not assumed. If they pass, I sign off. If not, the work goes back.

  • Dash sweep. No em dashes, en dashes, or dashes used as punctuation, including HTML entities that display as a dash. A hyphen check also runs on the visible text.
  • Structure scan. No duplicate ids, every div, section, article and nav tag is closed, and every link to a spot on the page works.
  • Machine readability. The JSON-LD (the structured data search engines read) parses, and node checks every inline script for syntax errors.
  • Render proof. A jsdom smoke test (a quick load of the page without a browser, with the right polyfills) confirms it boots, and I check the rendered page by eye.
  • Contrast proof. Color pairs are measured with exact oklab math and must meet WCAG AA before any color change ships.
Why the checks matter. They replace trust with evidence. How confident the model sounds doesn't count. Only a passed check does.
06 · When not to use AI

When I keep AI out of it.

Part of working with AI is knowing where it shouldn't be involved at all. These are the four cases.

  • When a small mistake could do serious harm. Legal, medical, financial and security decisions cost too much to leave to something that only sounds right. A person decides, with help from a qualified expert.
  • When you can't say what you want yet. If the thinking is the point, do the thinking yourself. Give a model a vague goal and you get a confident, average answer, which is what you were trying to avoid.
  • When the work is the relationship. A hard conversation or a judgment about a person isn't something to generate. Handing it off loses the thing that mattered.
  • When you'd ship something you can't check. If there's no check for it, it can't pass. Don't ship on faith.
07 · Summary

The whole approach on one screen.

The main idea

AI aims for what sounds right. Checking that it is right is a person's job.

The seven drifts

System. Intent. Confidence. Agreement. Average. Memory. Accumulation.

The three moves

Guide the intent. Write down the standard. Make the final call.

The checks

Dashes, structure, machine readability, render, contrast. All five must pass before I sign off.

A · Starter template

A starter template you can adapt.

A small version of the brief, a persona and the checks, ready to adapt to your own setup. The persona sets the role. The pre-ship list is the five checks, plus a final review, in plain text.

# brief.md  (write down the goal before generating anything)
Problem (one line): ____________________________________
Definition of done: ___________________________________
Hard constraints:   ___________________________________
Out of scope:       ___________________________________

# persona.md  (the role the model works in)
You are a [discipline] specialist. You hold the standards of
that craft. You propose, the human disposes. You cite real
sources only. You never present a guess in the voice of a fact.

# preship.md  (the checks, run before shipping)
[ ] dash sweep clean  (entities included)
[ ] no duplicate ids, tags balanced, anchors resolve
[ ] JSON-LD parses, inline scripts pass a syntax check
[ ] page boots in a smoke test, render checked by eye
[ ] color pairs measured, WCAG AA confirmed
[ ] whole reviewed against original intent, then signed

More playbooks

Discovery to Scope finds the real problem before anyone builds. The Figma Operating System keeps the design file organized once they do. The Interface Content System covers what the screen actually says.

Discovery to Scope cover
Discovery to Scope, from request to plan
Requests usually arrive as a feature or a screen to copy, not a problem. This is how I find what the customer is trying to get done, look at the options, and agree a plan the team can build without guessing.
Figma Operating System cover
Figma Operating System, how I run Figma with AI
AI can now generate designs inside Figma, so the system underneath matters more. These are the naming, status icons, tokens, versions and handoff I keep in my own hands, so the output looks like the product and not a template.
Interface Content System cover
Interface Content System, how I write interface copy
Seven rules for the words in an interface, covering point of view, plain language, errors and accessibility. Each rule shows a weaker version next to a better one.