Skip to content

02

Defect Detection

Computer vision on the factory floor, for people who don't do machine learning.

AWS Panorama + Amazon Lookout for Vision · Lead UX · 2023

  • Computer Vision
  • Edge ML
  • Manufacturing
800% / 50% throughput gain and error reductionMulti-year AWS agreement — a partner productized it~15,000 hrs saved annually at Tyson FoodsNo ML expertise required

Two services, one job, and a user who understood neither

A poultry plant runs product carriers continuously, at speed. When one fails it creates a safety hazard, halts production, and can compromise product. Catching failures meant a person watching a moving line all shift.

Computer vision solves this in principle. In practice the path from “we have cameras and a defect problem” to “we have a model inspecting our line” ran through a stack that assumed an ML engineer at every step. Starting with training a model, exporting it, packaging it into a container, defining camera inputs, deploying to an edge appliance, routing inference output somewhere a human can act on.

Customers didn’t have that person. They had plant engineers, operations leads, and a Solutions Architect on a call.

Meanwhile the platform’s own shape worked against them. Lookout for Vision thinks in datasets, labels and trained models. Panorama thinks in nodes, packages, manifests and devices. The customer thinks in cameras and defects. Designing outward from either service would have produced a workflow that made sense to its team and to nobody on a factory floor.

Bridging hardware and applications. Two consoles, two locations.

Three roles, two surfaces, one person crossing between them

RoleAWS consoleOn-device portal
System Integrator
Process Engineer
Line Operator

The Line Operator only ever sees a browser interface served from the appliance next to the line. They may never encounter AWS at all. The System Integrator lives entirely in the cloud console. The Process Engineer is the only role spanning both, making them the person who feels every inconsistency between the two.

That split, not the service boundary, is the design problem users actually live on.

Three roles, but two organizations. Two of them work for the partner; the one who runs the line every day does not.
Understanding who will use the product, when and how.
The integrator's path alternates between cloud console and edge console at nearly every stage. Whereas the two other personas work either on cloud or on the local app.
The operator never leaves the edge console. Select workflows, monitor, and flag missed defects or false positives when needed.

Choosing a design system for a place the design system couldn’t go

Cloudscape, AWS’s design system, was at the time allowed only for AWS console work. This application ran on localhost, served from an edge device, a non-AWS destination.

With the front-end engineers I evaluated 10–15 design systems, defining criteria before comparing: it had to be open source, and it had to carry a broad component set. An operator portal running production-line workflows needs tables, forms, status, modals and navigation. Not a minimal starter kit.

The unfortunate outcome was that we would need to use two different design systems. The cloud based interface used by ML engineers would be using one design system and the Line Operator using another with the onsite device localhost application. Most problematic was the System Integrator who spans both sides and would have a fragmented experience. Because the System Integrator life cycle was very short in time, we conceded that we would accept this situation, continue moving forward and keep an eye out for better as we continued production.

A lucky coincidence, having stayed alert to Cloudscape updates, two months into the project Cloudscape announced an open source version of their design system. I immediately went about advocating to the team that we should pivot quickly to adopt it. The winning agrument was that for our customers there would be no relearning, no retraining, the existing GUI patterns carried over (minimal front-end cost), and it was a system we could theme for a non-console context. Overall the product was now cohesive with a better customer experience and qualitative feel.

The criteria came before the comparison. The right design system arriving mid-research was luck. Being positioned to recognize and adopt it immediately was the analysis.

And we knew the visuals would be replaced. Our primary customer Denali told us during development that they’d reapply their own GUI after delivery, so the deployed product would carry their brand. What we shipped was formally a reference implementation.

Regardless I treated getting it right as no less important because when the visual layer is going to be reskinned, what you’re actually delivering is the interaction model: the information architecture, the workflow sequence, the states and edge cases. Those survive a reskin. A partner rebranding your UI keeps your structure.

Workflow setup screens from the locally hosted Automated Inspection app
The line operator monitors live result screens from the locally hosted app.

How I worked

Set the north star — A plant engineer with no ML background gets defect detection running on their own line. Everything difficult follows from refusing to let the org chart become the workflow.

Align the organization — Built the evaluation matrix that settled the design system question, and mapped the workflow across two services and two surfaces so the team could see where customers would fall out.

Engage the constraints and push them — The labeling workflow is where customers spend their actual hours, and it had been treated as secondary. I pushed for properly designed region-drawing tools, and for previous/next navigation inside the image editing view. The original flow bounced users back to a thumbnail gallery after every single image, in a task that is inherently sequential.

Deliver with rigor — I documented states, interactions and edge cases as the deliverable. Denali’s engineers were reading those files as a spec.


Impact

In April 2023, Denali Advanced Integration signed a multi-year global Strategic Collaboration Agreement with AWS to deliver on-premises computer-vision quality inspection as a managed, end-to-end solution, built on the first-party workflows I designed.

AWS’s General Manager of Automotive and Manufacturing was quoted in the announcement. The productized result is listed on AWS Marketplace as Automated Quality Inspection on the Edge and Assisted Line Clearance, and pharmaceutical manufacturers deploying it report 800% throughput improvement with 50% human-error reduction.

At Tyson Foods, the underlying approach automated inspection of thousands of product carriers per line with high-90s anomaly detection accuracy, saving an estimated 15,000 hours of skilled labor annually.

Adoption: A partner staking a multi-year commercial agreement on it means an organization bet its business on the workflow being good enough to deploy repeatedly, under their own brand.


What I’d change

Batch handling for the human-in-the-loop review. Anomaly detection at line speed flags more items than a person reviews one at a time, and that review is where accuracy is maintained. The productized version moved toward this, clearing multiple lines at once but it should have been the starting assumption.

More scalable from the start. Each deployment required bespoke rework. A more configurable core with customer-specific variation pushed to the edges would have made it genuinely repeatable rather than repeatedly rebuilt.


AWS ended support for Panorama on 31 May 2026. The workflows outlived the service, Denali’s offering remains listed on AWS Marketplace.

The whole file at full zoom-out — cloud console work above the divider, the edge device below. Collaborator avatars and internal references are redacted.