Maintenance Assistant.
When a $1.9B factory floor's equipment fails, knowledge retrieval shouldn't be the bottleneck. I designed a language model-powered maintenance system that cut time-to-answer from 4 minutes to under 10 seconds, for the people who can't afford to wait.
A $1.9B manufacturer where downtime is the enemy.
Griffith Foods. Global food ingredient company. Founded 1919. 30+ countries. 4 plant locations running heavy industrial machinery around the clock.
Every minute a line goes down is lost production. Maintenance knowledge needed to move as fast as equipment fails.
The knowledge existed. Nobody could find it in time.
Procedures lived in thousands of PDF pages and inside senior technicians' heads. No unified search. No fallback when key people were unavailable.
The system wasn't broken. It just wasn't built for the speed the floor demanded.
16 interviews. Three patterns kept surfacing.
On-floor contextual interviews across all 4 plant locations. Same friction across every role and every shift.
One behavior pattern dominated every site.
Archetypes built around behaviors and goals, not demographics. One profile showed up at all four plant locations.
- Reduce equipment downtime
- Faster troubleshooting on the floor
- Better team knowledge sharing
- Less reliance on one or two senior techs
- No reference when troubleshooting on the go
- Junior staff with no fallback options
- Answers buried in 2,000-page PDFs
- Fixes lost between shift handoffs
I know this machine better than the manual does. The manual was written by someone who never stood in front of it.
Senior Maintenance Technician, Griffith Foods
Mapping the journey (Detection → Troubleshooting → Procedure → Resolution) showed the emotional low point landing exactly where clear answers were needed most. That gap became the brief: how might we bring language model capabilities into Griffith's daily maintenance work in a way that actually works for the people doing it?
Three jobs. One tool. Zero new behavior required.
Remove friction, don't ask people to work differently. Each capability maps directly to a research finding.
Three constraints shaped every decision.
Speed over completeness. Voice-first input for gloved hands. Dark low-glare UI for industrial lighting. Everything else followed from those three.

Type it like you'd say it out loud.
One search bar. No menus. Type the symptom in plain language, get a structured answer instantly.

Not just an answer. The right format for it.
Plain-language summary leads. Filter by diagram, steps, or spec sheet. Still stuck. One tap escalates with full context pre-filled.

Gets smarter every time someone uses it.
Upload a manual or field note. Tag it, and it's searchable for the whole team immediately. Senior knowledge captured before it walks out the door.

Context survives the shift change.
Machine, query, and attempted fix are auto-filled from the active session. Next technician picks up exactly where the last one stopped.

When you know what you need. Browse beats search.
For scheduled maintenance and onboarding. Filter by category, machine type, or document format without needing a search term.

Not a mockup. The real thing.
Fully functional. Language model backend connected to actual Griffith documentation. Search something, browse manuals, raise a ticket.
Design and engineering ran in parallel.
Tested the language model against real Griffith docs before any screen was finalized. No over-promising.
Structure right before the pixels.
Structure locked. Interactions taking shape.
Tokens first. Screens second.
Token-to-CSS pipeline built before any screen. Figma → tokens.css → every screen. One value change updates all 13 screens.
Faster answers compound at industrial scale.
A 15% efficiency gain in a factory is a production metric. Every failure resolved faster means less downtime, less escalation, and less dependency on the two people who know everything.
The hardest part wasn't the tool. It was trust.
A wrong procedure can damage $500K of equipment or hurt someone. Trust was the product, not the interface.
The most important decisions were about what to leave out.