Vendor Label Validation Tool

Mobile GS1 barcode scanning that transforms a 15-minute manual seafood label check into an ~15-second automated workflow.

Publix Technology (Summer 2025)
UX Designer · Front-End Developer
≈60× faster · Higher accuracy · Compliance ready

Technology stack

C# / .NET
Xamarin.Forms (MVVM)
SQL
Telerik RadDataForm
GS1 DataMatrix parser
Visual Studio
Azure DevOps

The challenge

❌ Before

Associates manually cross-checked GTINs, vendor info, weights, and harvest data against internal systems. Each label could take up to 15 minutes, with frequent transcription errors and compliance risk.

✅ After

Barcode scan instantly parses GS1 Application Identifiers and validates fields in real time, surfacing warnings/errors and eliminating manual entry.

Goals & success metrics

Hypothesis: Automating validation via GS1 scanning will cut processing time by >90% while improving accuracy and compliance.

< 20s
Target validation time
100%
GS1 scan accuracy
0
Manual data entry errors
👍
Positive field feedback

Research & discovery

  • Interviews with internal devs & seafood QA specialists to map pain points
  • Deep dive into GS1 AI spec (01 GTIN, 10 Lot, 310x Net Weight, 11/13 Dates…)
  • Time-motion analysis of current workflow to identify bottlenecks
  • Field shadowing in warehouse environments (lighting, gloves, device handling)
Key insight Most common rejection reasons: incorrect weights, missing pack dates, incomplete vendor details. Automated parsing + validation catches issues immediately and prevents rework.

User persona & job story

Publix QA Associate

“When a seafood shipment arrives, I want to validate vendor labels quickly and accurately so I can approve loads without manual entry errors, ensuring quality and compliance.”

Information architecture

  • Home → Vendor Label Validation
  • Scan Barcode → Parse GS1 → Display structured fields
  • Real-time validation → Clear indicators (valid / warning / error)
  • History of scans → Detailed record for audits
  • Graceful fallbacks for invalid/incomplete data

Design & prototype

  • Telerik RadDataForm for grouped, scannable field layout on mobile
  • Key fields: GTIN, Vendor, Stewardship, Harvest Method, Weight, Pack Date, State of Origin
  • Color-coded validation states (green/valid, yellow/warn, red/error)
  • High contrast + large targets for floor conditions

Development highlights

GS1 parsing engine

Implemented comprehensive AI parsing with domain validation:

  • 01 GTIN · product identification
  • 10 Lot Number · batch tracking
  • 310x Net Weight · unit/precision handling
  • 11/13 Production/Pack Dates · freshness rules

Display & data binding

  • SKU → product image binding
  • Weight conversion (e.g., 001550 → 15.50 lbs)
  • Date formatting (YYMMDD → mm/dd/yy)
  • Null/invalid enum fallbacks
  • Real-time validation feedback as fields populate

Custom validation logic

  • Required presence: GTIN, Vendor, Pack Date
  • State-of-origin rules (e.g., USA/RTC constraints on certain SKUs)
  • Quantity vs Weight (≥1 required; both preferred)
  • Date sanity checks (no future pack dates)
  • Harvest method compliance

Results & impact

⚡ 60× faster

~15 min → ~15 sec per label

✓ Accuracy

Automated parsing removes transcription errors

📱 Mobile-first

Android enterprise devices for warehouse floors

🔒 Compliance

Real-time checks before approval

📊 Audit trail

Complete scan history & records

💚 Trust

Clear indicators + raw data fallbacks

Key learnings

  • Design for imperfect data: Real GS1 labels vary widely; fallbacks and explicit errors build trust.
  • Field testing matters: Lighting, gloves, and scanning posture change design constraints.
  • Enterprise a11y is mandatory: Contrast + target sizes are non-negotiable.
  • Parser robustness: Extensive sample coverage prevents production surprises.
  • Stakeholder alignment: Regular QA syncs ensured validation matched compliance rules.

More projects

Explore more UX & engineering work: