The problem
Rally's brief listed five goals: remove manual stock counting errors, let several people count together in real time, report stock by product and by colour, let admins monitor every ongoing count, and give warehouse teams a simple workflow they can rely on. [Inference] Packing had the same gap. Nothing recorded who packed what, or whether a scanned unit had already been sold.
What I changed
I designed both apps around a single scan loop. Scan a product by camera, barcode or typed serial, and it lands in a log that reads like a sentence: "Rohit Sharma added 10 units to Smartlite LED. Total quantity is now 30." Green Add and red Remove buttons sit at the bottom of the screen. Both apps use the same log and the same controls, so anyone who knows one app already knows the other.

Packer Boy: orders built by scanning
Packers start a new order by picking a customer from a searchable list, or they open an App Order that's already waiting. Every order shows a summary by product and colour, for example "1000W Waterproof Aqua Pro (Green 20, Blue 6, Yellow 6)," then overall remarks and Submit. App Orders show status (Pending or Partial), a filter and sort, and a Generate PO button that downloads the purchase order PDF.

Built for more than one packer
When a teammate changes the same order, a prompt says "List has been updated" with a Refresh button, so nobody works from stale numbers. If a scanned unit was sold before, a "Product Already Sold" alert shows the invoice number and date. It warns the packer without blocking the scan.
Stock Counting: one session, many counters
One person creates a session and becomes its owner. Teammates see the active session and join as contributors. Everyone scans into the same live product list. Only the owner can start a break, which splits the count into groups, and only the owner can close the session. The BRD also says the app rejects duplicate scans.
From count to report
Closing a session asks for notes and generates an A4 Stock Report. It shows totals first (breaks, products scanned, master cartons), then a product summary and a group-by-group breakdown. In the admin panel, every session shows one of three statuses: Created, Started or Completed. Tapping the contributor count shows who took part, and completed reports download in one click.
Redesigning what was already built
Before this round, developers had already built an Order History screen. I reviewed it and simplified it for packers. I removed order value and the Sent and Canceled statuses, and added the App Order ID, date and time, and customer name up front. Early ideas started as notebook sketches before moving to Figma.
What I learned
When several people handle the same stock, the log matters more than the list. A total alone tells you what's there. A named log tells you how it got there, and that's what settles disputes.

Outcomes
Every unit accounted for
Each scan records who acted, what changed and the new total, across packing and counting.
Teams work together, not in turns
Multiple packers or counters can work at the same time, with live updates and clear owner controls.
Audit-ready by default
Closed sessions become PDF reports that admins can filter, review and download.
Have a problem like this?
I take on two or three projects a quarter. Tell me what’s slowing your team down and I’ll reply within a day.
