Myroslav Kovtun, home

Procurement & inventory

Turning a failed marketplace into an AI procurement tool

−60%partner overstock, partner-reported, compared with before release
100+ h/monthmanual work saved, largest partners
Client
Gelato · GelatoConnect
Role and team
Lead Product Designer on the Procurement module, and its sole designer. With a PM, engineers and partners as testers
Timeline
2024–2025
Platforms and tools
Web + mobile warehouse app · Figma, FigJam, Jira Product Discovery, Confluence
Jump to results
Redesigned procurement catalog: restock notice, recommended suppliers, category tiles

The problem

Partners buy blank stock from suppliers. Order too much and money freezes in boxes. Too little and production stops.

The old module was a marketplace where suppliers would compete on price. They refused to reveal prices to rivals, so there was nothing to compare. Search was weak, supplier details were cramped, and the biggest partners told us so directly.

Old marketplace with mostly empty price columns
Before. Price columns were meant to drive competition. Most stayed empty.

The reframe

Not “how do suppliers compete?” but “how does a partner want to buy?”

A procurement manager already knows who they trust, who to call when that supplier is out, and when price beats loyalty. With the PM, we turned that knowledge into rules the system applies on every order. We scoped features and tested them with partners together; the interaction model and every screen on this page were mine.

Tesler’s Law. Some complexity can’t be removed, only moved. We moved supplier logic from the partner’s head into rules the system runs. lawsofux.com

Every replenishment order, as a rule
Stock below min Default supplier Out of stock? #2, #3 Cheaper pair? Override Draft order to review

Key decisions

Five decisions that turned a supplier list into rules partners trust.

3.1 Fallbacks, set once per SKU or category

Default, secondary and tertiary suppliers, plus an optional “lowest price wins”. Applied to five SKUs, the modal says up front which three it covers and which two it can’t.

Default supplier modal, empty state
  1. 1One default supplier for every selected SKU
  2. 2Fallbacks live in their own group, clearly optional
  3. 3Price-based selection starts switched off

Trade-off · New UI shipped later than it could have. Everything after it, AI included, needed these rules to be right first.

3.2 Rules per supplier–warehouse pair, written as user stories first

Every partner runs at least one warehouse. We wrote the rules as user stories first, then designed the panel that answers each one.

Final replenishment rules panel with ranked suppliers and warehouses
  1. As a procurement manager, I want…
  2. 01Ordered pairs per SKU, so automated orders follow my sourcing priority.
  3. 02More than three fallbacks, without artificial limits.
  4. 03Exclude warehouses with known issues or long lead times.
  5. 04Drag to reorder when supply or shipping changes.
  6. 05“Most economical” override when a cheaper total exists.

3.3 Failures sit on top, fixable in one click

No default supplier, or default out of stock: both groups surface above the order with one action each, and collapse once fixed. Everything else goes through as drafts.

Replenish stock modal with expanded groups of SKUs missing a supplier or out of stock
  1. 15 SKUs have no default supplier: one “Select supplier” per row
  2. 23 SKUs are out of stock at their default: one “Change supplier” per row

3.4 Desktop for rules. A phone for the floor.

Warehouse workers don’t just receive orders, they move stock all day. Each action is one screen with big targets, and every movement is recorded: physical stock became digital for the first time.

Warehouse app home: receive, transfer, update, find, location check
1Choose an action
Receive order list with order statuses
2Pick the order
Order allocation with a partial receipt confirmation
3Partial receipt is normal
Movement history of a product: ordered, adjusted, transferred, received
4Every move on record

3.5 A recommendation on bad data is a confident mistake

Planned from day one, shipped once rules and stock data were reliable. Then AI took the tedious work.

Inventory with eight SKUs selected and the AI stock optimization action in the toolbar Toast: optimizing the stock values
AI stock optimization · Select the SKUs, run optimization, and min and max stock are recalculated from real consumption.
Consumption rules table mapping frame types and sizes to wood material SKUs
Consumption rules · A frame is wood, plexiglass and a backboard. Map products to materials once, and stock is calculated instead of guessed.
ConnectAI panel reading attached files and extracting suppliers
Suppliers from a file · Drop a spreadsheet or invoice. ConnectAI extracts suppliers and products, then asks you to review.

Explored chosen

Partners chose the catalog that asks for the fewest decisions.

Every feature was prototyped and tested with a few partners first. For the catalog, partners picked the direction built on browsing patterns our design team borrowed from Spotify: a few large, familiar categories, cards that open into detail, and the next useful action shown first.

Hick’s Law. More choices, slower decisions. The chosen catalog shows two things: suppliers and categories. lawsofux.com

Explored direction A: favourites, recently ordered table, plain category tiles
A · Table-first. Favourites, a recently-ordered table and plain category tiles, all on one screen.

Results

Less money frozen in stock, and hours of manual work handed back.

Measured after release, over several months with real partners

BeforeAfter
After: new procurement catalog Before: old procurement home
Partner overstock · before release = 100
BEFORE100
AFTER~40
−60%
Manual work saved · largest partners Each block is 10 hours a month 100+ h/month
  • More partners buying Procurement, on its own and in the module bundle
  • Fewer data-entry errors, with each role on its own interface
  • Partners went from working around the tool to working in it daily

What I took from it

The hardest part wasn’t a screen. It was keeping partners, engineers and the PM moving in one direction on tight deadlines.

I learned to say exactly what I need from others, and to keep frustration out of working relationships. In a system this complex, clear communication is part of the design.

“The result was a product that is not only functional but incredibly easy to use.”
Vipul Chhabra · Product Manager, Gelato
Next caseThe Cone design system · Gelato · 2021–2025
Building a design system from zero across three platforms

All work