How I work

For a long time my work ended at handoff. I had strong opinions about how a product should feel: the rhythm of motion, the weight of spacing, how an empty state should treat you. But whether any of that survived into the shipped experience wasn't really up to me.

The gap between a Figma file and a production screen is where most of the craft gets lost.

Now I close that gap myself.


The clearest way to show what AI changes in my practice is one feature, end to end: Account Flagging, an alerting system I designed at Sciene. Not a tool list. Each step, and what it changed.

01

Synthesize

Twelve hours of CSM interviews, clustered into pain patterns with Claude in an afternoon instead of 3–4 days. The reclaimed week went into pressure-testing those patterns against the raw transcripts, the part a model can’t do for me.

Ranked pain patterns, traceable back to source quotes
02

Prototype

Four or five rough React prototypes, LLM-generated in hours and tested with CSMs the same day. Engineers pushed back on specifics instead of abstractions.

Working prototypes in same-day user tests
03

Measure

A Claude artifact wired to Databricks watched how v0’s alerts were actually treated. Within a week it showed most alerts being ignored or snoozed: technically correct, functionally noise.

Live acknowledgment tracking on production data
04

Decide & spec

The data forced the reframe: meaningful, not comprehensive. Alert thresholds were rebuilt with CSMs and AI engineers. Handoff docs were generated and design-QA’d with LLM assistance, written as design artifacts, not afterthoughts.

v1 shipped: three alert categories, AI insights that explain why
3–4 days → one afternoonResearch synthesis
Weeks → same dayPrototype-to-test loop
Week oneWhen v0’s noise problem surfaced, not post-launch
AI sets the pace. The standard is still mine. If a model gives me a half-right answer, I don't ship it. I learn enough to push back.

Front-end literacy isn't separate from my design craft. It's the same craft, extended. The sensitivity to timing, hierarchy, and state that shapes a frame also shapes how something behaves. Working in code just means I don't have to translate that sensitivity through someone else's hands.

This site is working proof: the pages, the interactive patterns, and the product demos were designed and built in code, with Claude Code as the pair.


The more interesting shift runs the other way: designing AI into products, not just with them. Companion's dashboard put AI classification, summaries, and drafts across three data sources in front of CSMs. The design problem was never "use AI". It was deciding what the system should say confidently, what it should defer on, and how a person stays in control when five signals compete for attention.


Working this way changes how I collaborate with engineers. I show up with opinions grounded in what's buildable, not just what looks good in a frame. Most design debt comes from decisions made too late or too far from the build.

I try to make mine early, and close.