Anudeep
All work

PiGo Mobile Platform / Product design case study

PiGo: one app for every role on the floor.

PiGo is PIPRA's mobile app for warehouse and maintenance teams. I studied the work on a customer's warehouse floor, proposed PiGo, designed it and built its front end: one role-based app in place of WarePro's launcher of separate apps, where every scan and action says what happened and what to do next.

Role
Product design · React / TypeScript front end
Team & time
Only designer, with engineering · about a month (Oct 2026)
Apps
WarePro · Maintenance · Quality Inspector
Status
In customer use

RelatedThe earlier WarePro Mobile redesign PI-ERP in 2026: role-based UX at scale

Final capture. Three PiGo phone screens: the WarePro supervisor home, a scan confirmed with “Added · 1 of 2”, and a work order's More actions sheet.

Three PiGo phone screens: the WarePro supervisor home, a scan confirmed with “Added · 1 of 2”, and a work order's More actions sheet.

Scroll horizontally on small screens to inspect details. Press Escape to close.

Real PiGo screens: the WarePro home and a scan on sample data, and a work order's actions on live data.
The problem
Warehouse work ran through a launcher of near-identical apps, maintenance roles needed field apps of their own, and failed actions didn't say what went wrong.
What I did
Studied the work on a customer's warehouse floor, proposed PiGo, one configurable app for every warehouse and maintenance role, designed it, and built its React front end.
The result
In customer use. At a customer site running WarePro on PiGo, inventory accuracy rose from 70% to 95% (reported by PIPRA).

Fewer stock mistakes where it’s used.

PIPRA’s reported result for a customer warehouse running WarePro on PiGo. The gain belongs to the whole product and team; the design’s part was catching mistakes at the shelf, scan by scan.

Inventory accuracy at a customer site, with WarePro on PiGo
70% → 95%
WarePro, Maintenance and Quality Inspector in one role-based app
3 in 1
Screens reviewed in one field-test round across three apps
87

Published by PIPRA capture. PIPRA and WarePro graphic: inventory accuracy 70% without WarePro, 95% with WarePro, above a photo of PIPRA's CEO and VP with the customer's warehouse team (staff faces covered) and a photo of the warehouse racks.

PIPRA and WarePro graphic: inventory accuracy 70% without WarePro, 95% with WarePro, above a photo of PIPRA's CEO and VP with the customer's warehouse team (staff faces covered) and a photo of the warehouse racks.

Scroll horizontally on small screens to inspect details. Press Escape to close.

PIPRA’s published result, with the CEO and VP at the customer’s warehouse. Customer staff and branding are covered.

Inventory accuracy as published by PIPRA Solutions. The customer is not named.

01 / Starting point

Separate apps for every job.

WarePro's handheld app opened on a launcher of near-identical mini-apps. PiGo replaces it with one mobile app for warehouse and maintenance teams: sign in once, choose a role, and see only the apps that role uses.

Legacy capture. The previous WarePro handheld launcher: a blue header with a greeting, and a grid of app tiles that all use the same box icon.

The previous WarePro handheld launcher: a blue header with a greeting, and a grid of app tiles that all use the same box icon.

Press Escape to close.

Before: one tile per app, every tile the same icon. Name masked.

Final capture. PiGo's WarePro home for a supervisor: Receiving, Quality check, Put away and Pick list tiles, with More actions below.

PiGo's WarePro home for a supervisor: Receiving, Quality check, Put away and Pick list tiles, with More actions below.

Press Escape to close.

PiGo, supervisor: the warehouse apps this role uses.

Final capture. PiGo's WarePro home for a labour role: only the Put away and Pick list tiles.

PiGo's WarePro home for a labour role: only the Put away and Pick list tiles.

Press Escape to close.

PiGo, labour: only Put away and Pick list.

02 / On the floor

Every step, with the people who do it.

In October 2026 I visited a customer's warehouse with the PIPRA team and the CEO. I interviewed the people who run it and worked through their daily tasks with them, from receiving to put-away, picking and dispatch: how stock is arranged on the racks, how an order is picked, and how it's checked and packed. The aim was an app the floor team could pick up quickly.

The author with PIPRA colleagues and the CEO in the customer's warehouse, talking among stacked cartons.

The author with PIPRA colleagues and the CEO in the customer's warehouse, talking among stacked cartons.

Scroll horizontally on small screens to inspect details. Press Escape to close.

With the PIPRA team and the CEO on the warehouse floor.

The author in a narrow aisle between tall steel racks of boxed products, looking along a shelf; product branding blurred.

The author in a narrow aisle between tall steel racks of boxed products, looking along a shelf; product branding blurred.

Scroll horizontally on small screens to inspect details. Press Escape to close.

Studying how stock is arranged, rack by rack.

A warehouse worker holding a printed order sheet talks with the author; the worker's face and company logo are blurred.

A warehouse worker holding a printed order sheet talks with the author; the worker's face and company logo are blurred.

Scroll horizontally on small screens to inspect details. Press Escape to close.

A picker walks me through the paper order sheet.

Over-the-shoulder view: a worker picks items into an open carton while someone checks a printed order and handwritten notes on a clipboard; documents blurred.

Over-the-shoulder view: a worker picks items into an open carton while someone checks a printed order and handwritten notes on a clipboard; documents blurred.

Scroll horizontally on small screens to inspect details. Press Escape to close.

Picking into a carton while the order is checked off on paper.

A worker opens a large empty carton to show the author how it's packed; the faces of the worker and a bystander are blurred.

A worker opens a large empty carton to show the author how it's packed; the faces of the worker and a bystander are blurred.

Scroll horizontally on small screens to inspect details. Press Escape to close.

At packing: how a carton is made up for dispatch.

The author and a PIPRA colleague talk with a staff member holding a notebook and papers, whose face is blurred.

The author and a PIPRA colleague talk with a staff member holding a notebook and papers, whose face is blurred.

Scroll horizontally on small screens to inspect details. Press Escape to close.

Asking the floor team about their daily tasks.

I'm in the black T-shirt. The customer's brand and its staff's faces are blurred.

  1. 01

    On the floorEach step belongs to different people: some receive, some put away, some pick and pack. Each person needs only their own tasks, and where to do them.

    In the productEach role lands on only its own apps. A labour role sees just Put away and Pick list, so there's less to learn on day one.

  2. 02

    On the floorStock is found by its rack and shelf, so a pick is only right if it comes from the right place.

    In the productThe locator is scanned as well as the product, and a wrong locator is refused with the right one named.

  3. 03

    On the floorOrders were checked off on paper, so knowing which product left which rack, and spotting stock that went missing, depended on handwritten notes.

    In the productEvery item is scanned against the order and its rack as it's picked (“1 of 2”). Extras are refused and nothing counts twice, so each pick is on record.

  4. 04

    On the floorHands are full with a carton, a sheet or a scanner, and there's little time to read a screen.

    In the productEvery scan answers with a sound, a color and one sentence that says what to do next.

03 / The bet

One app, configured for each role.

  1. 01One configurable app, not an app per job

    Evidence
    WarePro's launcher had a separate app per step (five for assembly alone, all with the same icon), and seven maintenance roles each needed a field app of their own.
    Decision
    I proposed one app where a role's settings decide its apps and tiles, and lists, actions, icons and colors are described in configuration. Warehouse roles reuse the app checkboxes they already had.
    Trade-off
    Configuration becomes part of the design, so a wrong value is a UX bug: a KPI that counted the wrong status and two tiles sharing an icon both came from configuration. I turned rules like “one icon per action” into automated tests.
    Implemented result
    One app runs WarePro, Maintenance and Quality Inspector, with a home for each of seven maintenance roles, on phone, tablet and desktop.

How a role becomes a home screen

Simplified
  1. 01

    Sign in

    Tenant, role and organization, chosen once.

  2. 02

    Role

    The role's settings decide its apps and tiles.

  3. 03

    Configuration

    Lists, actions, icons and colors are described on the server.

  4. 04

    PiGo

    Draws them on phone, tablet and desktop, in the tenant's brand.

Conceptual hierarchy

  1. 01Tenant
  2. 02Role
  3. 03App
  4. 04Home
  5. 05List
  6. 06Record
  7. 07Action

A simplified view of how a screen reaches the user. The server configuration, APIs and business rules belong to engineering.

04 / The principle

Catch the mistake at the shelf, not at save.

On the floor, a picker has a scanner in one hand and stock in the other. If a wrong label is only refused when they press Save, they walk back to the shelf. So in PiGo every scan answers right away, with a sound, a color and a sentence that says what to do next.

The question I started with
Does the flow reach the end?
The question it became
Does the person know what just happened, without looking twice?

05 / Picking, scan by scan

Every scan answers back.

From PiGo's order-to-dispatch walkthrough on sample data. Refusals say why and what to do, and nothing is counted twice or dropped silently.

  1. 01

    Scan screen with a red message: this label isn't on your pick list, or it's already picked. Check the product and scan again.

    Scan screen with a red message: this label isn't on your pick list, or it's already picked. Check the product and scan again.

    Press Escape to close.

    Wrong label: a double low buzz and a red message. Nothing is counted.

  2. 02

    Green message “Added Hydroxychloroquine sulfate · 1 of 2”; that product's row is outlined, with its progress bar half full.

    Green message “Added Hydroxychloroquine sulfate · 1 of 2”; that product's row is outlined, with its progress bar half full.

    Press Escape to close.

    Good label: a short beep, “1 of 2”, and the list scrolls to that product.

  3. 03

    Red message: all 2 Hydroxychloroquine sulfate are already scanned. Scan a different product.

    Red message: all 2 Hydroxychloroquine sulfate are already scanned. Scan a different product.

    Press Escape to close.

    One too many: refused at the shelf, not at save.

  4. 04

    Scan list after a mis-scan was removed: Acyclovir back to 0 of 1 and the total quantity back to 2.

    Scan list after a mis-scan was removed: Acyclovir back to 0 of 1 and the total quantity back to 2.

    Press Escape to close.

    A mis-scan comes off with one tap: Acyclovir is back to 0 of 1.

  5. 05

    Dialog: Leave without saving? 2 scanned labels aren't saved yet. Leaving drops them. Cancel or Leave.

    Dialog: Leave without saving? 2 scanned labels aren't saved yet. Leaving drops them. Cancel or Leave.

    Press Escape to close.

    Back asks first, so scans are never lost silently.

  6. 06

    Scan locator step with a red message: A-L-2-6-1 isn't a Dispatch locator. Scan the Dispatch locator.

    Scan locator step with a red message: A-L-2-6-1 isn't a Dispatch locator. Scan the Dispatch locator.

    Press Escape to close.

    Wrong locator: the message names the right one.

06 / Four decisions from review rounds

Make the next step obvious.

Before screens come from the first end-to-end run on live data; after screens show the same app after the fixes. Tenant names are masked.

  1. 01One clear next step

    Final capture. An emergency work order in PiGo: an amber banner listing the sign-offs needed to close it, the Details tab, and one blue Sign off my work button with a More button beside it.

    An emergency work order in PiGo: an amber banner listing the sign-offs needed to close it, the Details tab, and one blue Sign off my work button with a More button beside it.

    Press Escape to close.

    One main action; everything else is one tap away in “…”.
    Evidence
    On a work order, five actions were all marked primary. Five blue buttons wrapped and pushed “…” off the screen.
    Decision
    Give each state one main action, and put the rest one tap away in a More actions sheet, with the actions available now listed first.
    Trade-off
    Less common actions are one tap further away.
    Implemented result
    “Sign off my work” is the single main button. Send back and Safety hold sit apart at the bottom of the sheet.
  2. 02One icon, one meaning

    Before capture. More actions sheet before: repeated ticked-circle, crossed-circle and box icons, with Send back and Safety hold both red.

    More actions sheet before: repeated ticked-circle, crossed-circle and box icons, with Send back and Safety hold both red.

    Press Escape to close.

    Before.

    After capture. More actions sheet after: a different icon for each action, Send back in amber and Safety hold in red.

    More actions sheet after: a different icon for each action, Send back in amber and Safety hold in red.

    Press Escape to close.

    After.
    Evidence
    In review, the CEO pointed out repeated icons: Approve work and Safety approve were both a ticked circle, and Send back and Safety hold were both a crossed circle. A follow-up check found more.
    Decision
    Give every action that can appear together its own icon, and color by seriousness: Send back is amber because the work can be redone, Safety hold is red because it stops the work.
    Trade-off
    Icons are stored in each tenant's configuration, so the update had to leave alone any icon an admin had already changed.
    Implemented result
    A test now fails if two work order actions shown together share an icon. The audit covered 39 actions, 69 home cards and 56 navigation items, and all 128 WarePro home combinations.
  3. 03No dead ends on a field device

    Before capture. Maintenance home before: quick actions including Pick and Cycle count; tenant and user names masked.

    Maintenance home before: quick actions including Pick and Cycle count; tenant and user names masked.

    Press Escape to close.

    Before: two tiles led to “Coming soon”.

    After capture. Maintenance home after: four quick actions, Scan barcode, Receive, Inspect and Create work order; tenant and user names masked.

    Maintenance home after: four quick actions, Scan barcode, Receive, Inspect and Create work order; tenant and user names masked.

    Press Escape to close.

    After: four tiles, all working.
    Evidence
    Home showed Pick and Cycle count tiles that opened a “Coming soon” page.
    Decision
    Show only tiles that have a working screen behind them, with the same rule in every app.
    Trade-off
    Features still in progress stay invisible until they are built.
    Implemented result
    Home shows four working quick actions, and WarePro's Stock check and Inventory move follow the same rule.
  4. 04Data a person can read

    Before capture. Filter sheet before: eight empty date boxes under four capitalized headings.

    Filter sheet before: eight empty date boxes under four capitalized headings.

    Press Escape to close.

    Before.

    After capture. Filter sheet after: Any time, Today, This week, This month and Custom range chips for each date, plus Overdue for planned end.

    Filter sheet after: Any time, Today, This week, This month and Custom range chips for each date, plus Overdue for planned end.

    Press Escape to close.

    After.
    Evidence
    Dates read “2026-10-11 14:17:57.337575”, and filters were eight bare date boxes under capital-letter headings.
    Decision
    Show dates in the phone's own format, and give each date filter presets: Any time, Today, This week, This month, plus Overdue for end dates.
    Trade-off
    A custom range now takes one extra tap, because the From and To boxes appear only when asked for.
    Implemented result
    Dates read “22 Sept 2026, 2:17 pm”. Filters are 44px chips, and an active filter shows as a named chip, such as “Planned start: This week”.

07 / Every device, every brand

Phone first, not phone only.

PiGo is designed at phone size first. On tablets and desktops, side navigation replaces the bottom bar and records use the extra width.

Each tenant's brand reaches PiGo from the same settings as the web app, and brand colors that would fail contrast are darkened automatically.

An accessibility pass found no automated violations on ten PiGo screens. The phone header buttons grew from 20px to 44px touch targets, and the selected filter chip went from 4.4:1 to 5.6:1 contrast.

OptionalDesktop layout

The same app in a desktop browser: navigation, task list and work order side by side. Tenant name masked.

Final capture. PiGo on desktop: navy side navigation, a filtered task list and the work order detail with warning banners and a Sign off my work button; tenant name masked.

PiGo on desktop: navy side navigation, a filtered task list and the work order detail with warning banners and a Sign off my work button; tenant name masked.

Scroll horizontally on small screens to inspect details. Press Escape to close.

Desktop: side navigation, list and record side by side.

08 / How I worked

Evidence first, every round.

I was the only designer, working with engineering over about a month, starting with the warehouse visit. Each round ended in a review page: every screen captured from the running app, before and after, so the CEO and engineers could comment next to the exact screen. One field-test review covered 87 screens across three apps.

Rules that matter in the field became automated tests, such as one icon per action and the colors of risky actions, so a later change can't quietly undo them. I used AI-assisted coding throughout and checked every change in the running app before review.

09 / Collaboration

I designed and built the front end. Engineering owned the platform behind it.

My contribution

  • Field research at a customer's warehouse
  • Product & interaction design
  • Visual design on Atlassian Design System tokens
  • React / TypeScript front end
  • UI rules as automated tests
  • Review rounds with before/after evidence
  • AI-assisted coding

Product / leadership

  • Warehouse & maintenance workflows
  • Requirements & priorities
  • CEO and product review

Engineering

  • iDempiere backend & REST APIs
  • Warehouse & maintenance business rules
  • Tenant & seed data
  • Deployment & infrastructure

“On PI-ERP and PiGo, Anudeep took the work from design all the way to a live product — owning design and development instead of handing over mockups and waiting. That's exactly the ownership I want to encourage.”

Ajit Kumar · CEO, PIPRA Solutions

10 / Status

Where PiGo is today.

PiGo
In customer use
Packing step and pick assignment
Planned, not built yet

Some fixes depend on server-side changes owned by other teams, such as names for status codes that are missing from the server's list.

11 / Learning

On a warehouse floor, an app is judged in the second after a scan. Most of this work wasn't adding screens. It was making each one say what happened and what to do next.

What I'd do differently

Run the first end-to-end test on live data sooner. Sample data hid what the live run surfaced: raw codes and IDs instead of names, and actions that failed on real records.

Still open · not implemented

A packing step and pick assignment in WarePro; names instead of raw IDs on a few records; a Quality Inspector list filtered to the inspections that are due.