Calvin Iwata Memoji, smilingCalvin Iwata Memoji, celebrating with confetti
ProductLocked

Apple

Operations: Global Sourcing

An AI meeting assistant that gives sourcing teams their time back.

A MacBook showing the assistant summarizing a day of meetings and mail, each point citing its source, beside an iPhone showing a meeting recap, all with sample content
Product screens for this study are shared with the full case study.

The problem

Sourcing teams live in meetings. After each one, someone writes up what was decided, who owns what, and what is still open. Then they chase it all again in mail.

An AI can write that recap. It only saves time if people trust it enough to skip checking it, because a wrong recap means redoing the meeting from memory.

So the design problem was trust, not capability.

An answer listing decisions from a packaging review, each with a source chip. A pointer clicks the first chip and a popover opens, quoting the exact line from the meeting transcript with that line highlighted, and buttons to open the transcript or copy the quote.
Every claim carries its source, and the source opens in place on the exact line. Checking takes seconds instead of a re-read.

How I ship

I write production code too, paired with Claude Code. Since my first pull request on September 26, I’ve opened 18 and 9 have merged.

Each one gets a test pass before an engineer reviews it. Both apps build, the real app is driven through every screen the change touches, and every check leaves a screenshot.

Each pull request moves through four stages: the change, the build, driving the app, and proof. A failed check goes to a fix loop that rebuilds and reruns the pass.

  1. Change
    Its own branchWritten with Claude CodeA how-to-test list
  2. Build
    Merged onto developmentMac and iPhone buildsUnit tests it touches
  3. Drive
    Clicks, menus, zoomSix window sizesLight and darkApp log and database
  4. Prove
    A screenshot per checkOne test forced to failA report on the PR
Fix loop
  • Fix on the branch
  • Rebuild
  • Retest at the final commit
A pass only counts if it could have failed. So one unit test is broken on purpose each run, and it has to fail for the right reason.

The rest of this case study is locked

It covers internal work, so the password is shared on request.

Or email calvin.lee@berkeley.edu

More work

All work