← All work
Independent · Chrome extension

Setu: point at the UI, say the change

~ A Chrome extension that sends exact UI changes to a designer’s AI coding agent, and lets them approve what it did.

To capture: Edit panel with a queue of changes and their change-type chips
Problem
Activation. A new user needed about 17 steps and 3 switches between apps to reach a first success.
What I did
Owned the product direction and every gate decision. AI coding agents built it in reviewed slices.
Result
About 5 steps and 1 switch. Two of three activation targets met. Live as v3.7.0, with 11 users so far.
Role
Product direction, design
Built with
AI coding agents
When
Apr 2026 – now
Status
Live · v3.7.0

The problem

Setu lets a designer point at an element on a running page, describe the change in plain words, and send it to their AI coding agent. The agent makes the edit, and the designer approves or rejects it.

The first version used copy and paste. The prompt went stale, it could not pin down an exact change, and nothing came back to show what the AI had done. The larger loss was at the door: about 17 steps and 3 switches between apps before a first success, and Setu named its one hard requirement only after a person had failed at it. Each of those steps was a place to drop off.

What I did

I owned the product direction and made every gate decision: 67 in the onboarding work and 7 in the round after it. I set three measurable targets before the work started, and I ran the hands-on checks myself.

AI coding agents did the building, in small slices. Each slice went through a spec, a design gate, a plan review, the build and a code review before it merged. The agent that reviewed a slice never fixed its own findings, so review stayed independent.

Key decisions

  1. D1

    Setup comes first, not a tour

    ChoseOne setup card with one Copy button, and a status that turns green by itself.
    RejectedA guided tour first
    WhySetup is where people failed. A tour teaches the product before it works for them.
  2. D2

    Connecting is one plain-English message

    ChosePaste one message to your AI. The config route stays, behind “Make this permanent”.
    RejectedA JSON config file as the main route
    WhyIt was the single largest drop-off in setup.
  3. D3

    The interface never names a vendor

    ChoseNeutral words: “your AI”.
    Rejected“Claude is listening”
    WhyNaming one vendor made the product look broken to everyone using another, and the helper cannot know which AI is connected.
  4. v3

    Review happens in a panel, not on the page

    ChoseA Review panel. A rejected change goes back with its full history of attempts.
    RejectedA floating Approve / Reject bar
    WhyA second result overwrote the first, so a change could be lost before anyone reviewed it.
  5. D18

    Held back a release Google had approved

    ChoseFix the bundled font files, then publish.
    RejectedShip now, fix later
    WhyThe font weights were swapped. Every new user’s first impression would carry the defect, and with a small base each one counts.
To capture: the setup card, status turning green

Outcome

17 → 5steps from install to first success (about)
3 → 1switches between apps
2 of 3activation targets met
11users on the Chrome Web Store

Version 3.7.0 went live on 2026-11-12, with its local relay on npm. The onboarding work closed on 2026-10-27 with two of its three targets met. The missed one, “zero words that need a lookup”, carried into the next round of work.

This phase measured activation, not reach. The funnel runs from opening the extension to approving a change, and its next reading is due from 2026-11-19.

Limits

  • 11 users is a small base. These numbers show activation, not demand.
  • The newest Review and History screens have not yet been used with a real AI.
  • It needs Node and an AI coding agent on the designer’s machine, which limits who can use it today.

What I learned

  • Activation problems hide in the order of things. Setu named its one hard requirement only after people had failed at it. Putting setup first, behind one Copy button, took it from about 17 steps to about 5.
  • Interface words are product decisions. Naming one AI vendor made the product look broken to users of every other one. A word that needs a lookup costs users in the same way.
  • Hands-on runs find what reviews miss. Two runs found 22 problems from 9 root causes. I re-planned the fix as four slices, ordered by severity, instead of one large one.
  • AI agents move the bottleneck to judgement. Building got cheap. Deciding what to build, what to reject and when it is ready did not. So that is where I put the controls: independent review, targets set in advance, and the authority to hold a release.