A conversation with Hy

What are you building?

Semiconductor HMI

An operator interface for a wafer grinding machine, where one wrong screen state can destroy a wafer.

I joined three years into development, with no brief and no UX docs. As the sole designer among about 30 people across three vendors, I turned years of hardware logic into an interface operators can trust and frontend teams can build.

Closed: development paused after the client changed its business strategy

NDA project. Every interface shown here is an illustration, not the product's real UI. No real machine data or client IP is shown.

How did I help
  • Design & system work
  • Semiconductor · NDA
Role
Sole designer, in the front-end team
Team
~30 people, 3 vendors
Joined
Year 3 of the project
Validation
Passed hardware validation
AI summary
Who's reading? I'll show what matters to you.
  • An operator interface for a wafer grinding machine, where one wrong screen state can destroy a wafer.
  • I joined three years in as the sole designer among about 30 people across three vendors, with no brief and no UX docs.
  • Every state was signed off by hardware engineers before frontend, and the work passed hardware validation. The screens shown are illustrations, under NDA.
View CV

The tour: Nothing reached frontend without an engineer signing off → Three calls for the cleanroom → Start from the state diagram

Ask about this case
WGM-01 · Unit overviewRUNNING1 ALARMOperator A-12GRIND ARUNNOW742.0 µmTARGET720.0 µmW-219Pass 2 / 3GRIND BALMNOW731.5 µmTARGET720.0 µmW-218HOLDPROCESS MAPRUNWAITALMPORT AREADYALIGNRUNGRIND ARUNGRIND BALMWASHWAITDRYRUNPORT BREADYROBOTGRIND B · Coolant flow below targetCheck nozzle B, then resumeW-218 heldStart cyclePause cycleReset alarmStopFIG. 01 · UNIT OVERVIEWRECONSTRUCTED · NO REAL MACHINE DATA

Three years of hardware logic,
and no brief.

The problem

The machine already worked. My job was to make the screen match it exactly.

  • 01
    No brief, no UX docsEverything had to be reverse-engineered from Confluence pages, sensor layouts and backend status codes.
  • 02
    Zero tolerance for errorA wrong state on screen can waste a wafer and time on very expensive equipment.
  • 03
    Multi-vendorHardware from a Japanese manufacturer; software split across three Vietnamese vendors under strict NDA.
  • 04
    No access to the machineIt sits in a cleanroom. I designed every machine state without touching it.
From specs to screens
What I had
  • Confluence pages
  • Sensor layouts
  • Backend status codes
What I did
  1. 01Found every machine state the screen must show
  2. 02Designed how each state looks and behaves
  3. 03Checked each one with hardware engineers
What came out
  • An interface operators can trustGlove-sized controls and readable alarms
  • Specs frontend teams can buildComponent states and data expectations

Nothing reached frontend without an engineer signing off.

The validation loop

Under the NDA, hardware engineers were the experts every screen state was checked against.

  1. 01Read the specWork through the specs to find every machine state the screen must show.
  2. 02Propose the UI stateDesign how that state looks and behaves on the operator screen.
  3. 03Engineer reviewReview it with hardware engineers. Nothing moves on without their sign-off.
  4. 04Hand off to frontendPass the approved state to frontend with clear component states and data expectations.

Repeats for every state.

WGM-01 · Grind AGRINDING · STEP 3 / 5Operator A-12 · 14:32WARNING · W-214Coolant flow below targetCheck nozzle B, then resumeWafer · Slot 07Notch aligned · 0.02°Thickness755750745740735730725720Target 720737µm now−23 removedControlsPause cycleReset alarmKept apartStop64 px targets
Reconstructed · no real machine data

Three calls for the cleanroom.

ControlsPause cycleReset alarmStop64 pxPrimary controls50+ pxEvery touch targetKept apartDestructive actions sit apart, in redThree controls per panel
01 / 03 · Reconstructed operator screen

Glove-optimized UI

Operators wear cleanroom gloves, so standard tap targets are too small.

  • ControlsPause cycleReset alarmStop64 pxPrimary controls50+ pxEvery touch targetKept apartDestructive actions sit apart, in redThree controls per panel
    01 / 03 · Reconstructed operator screen

    Glove-optimized UI.

    Operators wear cleanroom gloves, so standard tap targets are too small.

  • Raw hardware codesA-102 0x3F1 0110W-088 0x011 0003I-007 0x2C0 0001W-214 0x0D6 0003I-019 0x07A 0001A-117 0x0B9 0100W-301 0x1E4 0002I-031 0x3C2 0001W-145 0x07F 0003How severeWARNING · W-214What's wrongCoolant flow below targetWhat to do nextCheck nozzle B, then resumePrioritizedW-214
    02 / 03 · Reconstructed alarm screen

    Hierarchical alarms.

    Raw hardware codes are unreadable for operators.

  • Pause cycleComponent statesPause cyclePause cyclePause cycleDefault · 64 pxPressedDisabledData expectations<ControlButtonlabel="Pause cycle"size={64}disabled={state !== "GRINDING"}onPress={pauseCycle}/>
    03 / 03 · Component spec sheet

    React-ready specs.

    Frontend teams couldn't guess how a machine state should look.

What I'd do differently

Start from the state diagram, not the documentation.

I spent my first months reading specs front to back. Most of what I read early on never reached the screen. I should have mapped the machine states first and used that map to decide which specs mattered.

Machine states
  1. STEP 1 / 5Loading
  2. STEP 2 / 5Aligning
  3. STEP 3 / 5Grinding
  4. STEP 4 / 5Rinsing
  5. STEP 5 / 5Unloading
AlarmAny state can raise one.
Lessons
  • Precision over creativityIn industrial HMI, familiarity and accuracy matter more than novel UI.
  • NDA is a design constraintWithout the real screens, the work has to come through in illustrations, reasoning and process.
  • Design as translationThe job was turning hardware constraints into operational safety.
Building something where mistakes are expensive?

Bring the specs. I’ll find the interface in them.

For hardware, data-heavy or multi-vendor products where the UI has to match the system exactly.

Similar work: UX audit, quoted after a short call

More work

All work
Start a conversation

Working on a product where a UI mistake is expensive? Let’s talk it through.