I build the thing before it exists, so the right people can decide early.

Who I am · Nineteen years · Six companies

Since Flash, the good fight: designers should code

  • RoleDesign engineer. I sit between research, design, product and engineering and make the decision visible early, in working code, on real data shapes
  • What I am here to doHelp a research-led studio ship what it learns, in an AI-native world, and grow the next people who do it
  • 19 yrssince the 2007 degree, every one of them making the decision visible in working code before the sprint was spent
  • 4design systems shipped across four companies: WebMD, Nordstrom CommonUI, Microsoft Sovereign UI, and the kit under Apple's publishing system
  • 40+teams adopted a publishing system from one email, no mandate; thousands of engineers on Lyric; every JEDI team that asked for a Preview Site

To know where you're going; you have to know where you've been...

Since Flash, I've been fighting the good fight that designers should code. Not because engineers can't design, and not because designers need to ship production code alone, but because a decision made in the medium it ships in reveals more than a static Figma can.

Coding is not dead. Manually creating code might be. The judgment about what to build, for whom, and what must never regress is the part that got more valuable. That's the part I have spent two decades learning to leave where the next person will find it.

The arc, in four moves

Microsoft, designer PM. Personnel for JEDI, then Cloud Screening and Gov Screening. Preview Sites for several JEDI teams: I was loaned across them, bootstrapping each PM team's ideals into one coherent design system.

Microsoft, the engineering seat. When JEDI was bound up in the courts and the re-orgs came, I was merged into a software engineering role on Sovereign Clouds. My mentor, Arash Motamedi, told me to take the growth mindset literally and learn Azure from the inside. I did.

Apple, Senior UI/UX Engineer in UX Engineering. I collapsed fourteen executive dashboards into one surface, rebuilt thousands of hand-tuned charts one to one from an ingestion pipeline, and turned the surface into a publishing system that forty-plus teams ran themselves, every team its own room.

Since then, Unakin. Agentic systems built in the open: Panogram for spatial and 360° media, Spacelab Studio, and shipmate, an agent that deploys and changes DNS hands-free from my phone and refuses to execute unless a plan ran in the last ten minutes.

Microsoft, designer PM

I joined Personnel for JEDI. Figma was out since we didn't trust the visibility we had into their telemetry and spun up Preview Sites in TypeScript to script the end-to-end. I live coded Previews for Personnel, then Cloud Screening and Gov Screening. This cross-pollinated to Preview Sites for a number of other JEDI teams, where I was on loan, bootstrapping each PM team's ideals into one coherent design system. "Sovereign UI" was born.

Microsoft, the engineering seat

When JEDI was bound up in the courts and the re-orgs came, I was merged into a hardcore software engineering role on Sovereign Clouds. My mentor, Arash Motamedi, told me to take the growth mindset literally and learn Azure cloud engineering from the inside. So, I did.

Apple, Senior UI/UX Engineer

I was brought in to remove the dependence on Tableau, where exports took twelve hours and pushed meetings out days. I found fourteen dashboards from fourteen eras and collapsed them into one surface by authorization. Then I rebuilt thirty thousand charts one to one through an ingestion engine that quarantined anything that did not reconcile, and a forensic agent emailed the owner the cause and the fix. The surface became SuperComposer, which forty-plus teams run themselves, and it was shared inside Apple as open source so anyone could start from it.

And in my free time. Unakin.com

Agentic systems built in the open: Panogram for spatial and 360° media with a studio for creating 3D immersive terrain from GPX/GeoJSON for our snow and climbing alpine adventures, Spacelab Studio, and shipmate, an agent that deploys from my phone/CarPlay and refuses to execute unless a plan ran in the last ten minutes.

What the engineering seat bought

I know what a design decision costs when it lands late. And accessibility was nobody's ask: an hour a week in office hours with Scott O'Hara, then the Azure S360s Robert Taft tapped me for, fixed in code and documented for whoever came next. Robert wrote to everyone involved. Nobody reported to me.

I know exactly how a design decision lands in engineering and what it costs when it lands late. I came back to design and prototyping with that bill in hand.

It also bought the story I tell about leading without authority. Accessibility on Azure was not in my title. I spent an hour a week in the C+AI Accessibility Office Hours with Scott O'Hara, with no mandate, reworking patterns in the Preview library before they reached production. Robert Taft, who led the UXE BAG meetups, tapped me to help clear the accessibility S360s piling up on Azure. I documented the whole process, made PRs against Azure source for several teams, and kept the wikis current for whoever came next. Robert wrote to everyone involved about it. Nobody reported to me in that story. The standard moved because the work was visible and the write-up was reusable.

How I work

Grow the next people who build the thing before it exists.

I have been the new person in six companies. The seventh is about the people behind me, even if those people are agents: giving them the route, the systems, and a standard that holds without me in the room. Documentation is everything so I am constantly defining workflows around what we can refer back to and how we can ensure that everything is testable and that we receive feedback early and often.

Design is a decision about someone else's time, made visible early enough to be cheap to change.

Everything I have built is that sentence. The Preview Site made a PM's decision visible before engineering spent a sprint. The iViz wheel made a surgeon's one-handed grip the constraint before hardware was cut. The playbook's gate makes a design-system violation visible before a reviewer's afternoon is spent on it.

Design is a decision about someone else's time

idea mock sprint production cost to change decide here a signed-in preview, real data shapes the same decision, re-made later by whoever is next the argument is had once, against the artifact
The cost of changing a decision climbs toward production. A signed-in preview on real data shapes moves the decision to the cheap end, and the argument is had once, against the artifact.

How I work

Start with the people who have to decide 01 Ask the questions 02 Prototype in the medium it will ship in 03 Let the room argue with the thing 04 Write the judgment down 05 Hand off a thing, not a recommendation 06 Leave the route marked 07 the next decision The same loop at Microsoft and at Apple; the tools changed, the order did not.
Seven steps, in order, and back to the start for the next decision. The two lit boxes are where the work actually happens: the prototype, and writing the judgment down.

How I work

Start with the people who have to decide 01 Ask the questions 02 Prototype in the medium it will ship in 03 Let the room argue with the thing 04 Write the judgment down 05 Hand off a thing, not a recommendation 06 Leave the route marked 07 the next decision The same loop at Microsoft and at Apple; the tools changed, the order did not.
Seven steps, in order, and back to the start for the next decision. The two lit boxes are where the work actually happens: the prototype, and writing the judgment down.

The design processes we were taught has evolved.

Discovery, mock, iterate, handoff. I stopped working that way in 2020, when the prototype became the product's first draft. In this landscape everything has to work and look perfect, and the decisions still have to be made quickly. So the job is to get the thing off the ground and into code while the decisions are still being made, and let the team decide against something real. Build in the medium it will ship in, then decide.

Two kinds of design work now.

Supporting rapid execution. Pairing with engineers, real-time feedback, the last-mile polish. For me that was live-coding previews over Teams, engineers taking the TSX as the blueprint, and PRs against Azure source.

Short-horizon vision. A three-to-six-month prototype that points a team in a direction. For me that was Project Studio, and SuperComposer. Now I am automating redesigns and evolving design with the current iteration of Preview Sites. The next generation might be new surfaces entirely. Perhaps skills in the terminal people use to craft specialized software to solve specific tasks.

Trust is built by shipping early and answering.

"What destroys trust is shipping something early and then nothing happening." My version: receipts, not promises. Twelve hours to twenty minutes. A gate that refuses below the bar. A forensic agent that emails the SQL for people to investigate themselves when the data integrity comes into question.

Ambivalent about the surface.

I have helped teams build surfaces that are not screens: MCP servers over Druid and Postgres, skills that compose the newsletter or schedule the send, a companion that takes a sentence and refuses the wrong one, an agent that deploys from my phone. They are surpassing the interim UI patterns of the last decade.

The experience is moving out of the interface and into the definitions, and a designer's judgment has to move with it: what the agent may do, where a person must decide, and what must never regress.

Start with the people who have to decide.

I find out who decides, what they are deciding, and when it becomes expensive to change, before I open an editor. And I research the team the way I research the customer: their office hours, their channel, what they are measured on.

On Personnel the deciders were a PM team choosing between dozens of workflow permutations. At Apple it was the senior leadership team reading charts every week in a medium that forgives nothing and the business owners who presented the Keynotes. I find out who decides, what they are deciding, and when it becomes expensive to change, before I open an editor. And I research the team the way I research the customer: their office hours, their channel, what they are measured on.

Ask the questions.

  1. What purpose does this serve?
  2. How is it better than what exists, and than the alternatives we looked at?
  3. What does it let people do that they could not do otherwise?
  4. How will we prove it worked?
  5. Who have we left out?
  6. What does it cost, in money and in time?
  7. Who will have to learn it, train on it, manage it and maintain it?
  8. Does it still hold up at scale?

Prototype in the medium it will ship in.

Not a picture of the product: a signed-in preview on real data shapes, with simulated events, so the PM can click through the workflow and the engineer can read the code.

Not a picture of the product: a signed-in preview on real data shapes, with simulated events, so the PM can click through the workflow and the engineer can read the code. On Personnel the previews were TypeScript and React behind our own gateway, and engineers took the TSX and CSS as the blueprint.

Let the room argue with the thing.

The argument is with the artifact, not with each other, and it is had once. PMs change decisions in the meeting instead of a sprint later.

I live-coded previews over Teams during the pandemic, and PMs changed decisions in the meeting instead of a sprint later. At Apple, bringing the existing charts in one to one is what made leaving Tableau feel safe. The argument is with the artifact, not with each other, and it is had once.

Write the judgment down.

A rule either has a check that measures it, or it is marked judgment. Then the argument is had once, and written where the next person will find it.

A rule either has a check that measures it, or it is marked judgment. The playbook holds 118 rules with checks and 46 marked judgment. Its gate refused my own restyle four hundred times, because the mockup's 38px buttons would have lowered the kit's 44px touch floor. A skin may carry the language. It may not lower an accessibility rule. Four hundred refusals is a trade-off I chose: speed, for a floor that never moves.

Hand off a thing, not a recommendation.

Every state in the preview is a story on the board, linked both ways. Engineering receives states, rules and tokens instead of a link to a picture.

Every state in the preview is a story in Azure DevOps, linked both ways: 85 stories from one data twin. Engineering receives states, rules and tokens instead of a link to a picture. A researcher with a brief gets a walkable, accessible preview in an afternoon, and the recommendation survives contact with the backlog.

Leave the route marked.

Components go into the shared core with their documentation. Fixes go in with a wiki the next engineer can follow. The standard holds without me in the room.

PeopleCard went into the shared core with its documentation. The Azure accessibility fixes went in with a wiki the next engineer could follow, and Robert Taft wrote to everyone involved. SuperComposer runs on forty-plus teams with owner and member roles, every team its own room and no mandate. The standard holds without me in the room.

I have been designing and building since Flash. Now I am a UX Engineer: prototyping in Preview Sites aiding in design decisions, research, and investigation, managing design systems, integrating, and now building factories that connect the cloud services, so that we have boilerplate in isolation passing component governance, which we can leverage to bootstrap new sites that adhere to the design language and the skills.

The through-line

Flash 2007 designers should code Preview Sites 2020 a prototype as the first draft Design systems 2021 one language, cleared once Trust 2025 nothing renders unreconciled Factories 2026 governance held in tests how much of the decision the tool carried the person decides; the tool holds the standard
Five stations, one idea. Each tool carried more of the decision than the last; the person still decides, and the tool holds the standard.

The through-line

Flash 2007 designers should code Preview Sites 2020 a prototype as the first draft Design systems 2021 one language, cleared once Trust 2025 nothing renders unreconciled Factories 2026 governance held in tests how much of the decision the tool carried the person decides; the tool holds the standard
Five stations, one idea. Each tool carried more of the decision than the last; the person still decides, and the tool holds the standard.

What I am here to do today

Help a research-led studio ship what it learns: a walkable, accessible prototype built from the research in an afternoon, instead of a recommendation. Design for the person delivering the experience too. And grow the next people who do it.

Help a research-led studio ship what it learns. Research recommendations die between the readout and the roadmap, not because anyone disagrees with them, but because by the time there is capacity the recommendation is a slide and the context is gone. A walkable, accessible prototype in the medium it will ship in, built from the research in an afternoon, is how a recommendation survives contact with a backlog. And the people delivering the experience get the tools too, not only the people receiving it.

Lead design engineering in an AI-native world: the design language is data, the judgment is held in tests, and agents get adopted because they are contained, not because they are capable. And grow the next people who do it. I have sat in the PM chair, the designer's chair, the engineer's chair and the security review, so I can translate between them, and I can teach the translation.

Off the clock

I take calculated risks. Alpine routes, planned the way I plan a build: objectives, partners, systems for mechanical advantage, and an eye on the weather.

I run and swim, and the data lives on Strava, because I like receipts there too.

Have mercy on the dishwasher. Paella, pastelón and arepas, for as many people as the table holds.

Side projects: vehicle modifications, home improvements, life hacks, and I can still get down at the roller rink.

The through-line

I keep rising to the occasion, trying the difficult thing, and learning whatever technology it takes. The occasion now is other people: the researchers, designers and engineers who will build the next generation of this, better than I did. I am here to make sure they can.