Source: https://www.heyganesh.in/work/taabi-procure

Author: Ganeshkumar, Product Designer

Published: 2026-09-04 · Updated: 2026-10-20

0→1 · B2B SaaS · Web App

# Auctions worth crores were running on someone else’s platform

I designed Taabi Procure so enterprises could run their own auctions, for their procurement teams and their vendors.

![Taabi Procure auction dashboard showing live vendor bids and ranking](https://www.heyganesh.in/assets/taabi-procure/procure-hero.svg)

- **Company:** Taabi Mobility (Logistics and procurement software for enterprises)
- **My Role:** Sole Product Designer
- **Team:** 3 Engineers, 1 PM & Me
- **Timeline:** Apr – Jun 2026

[Screen recording: the enterprise’s live vendor leaderboard updating as bids come in](https://www.heyganesh.in/assets/taabi-procure/table.mp4)

*Enterprise: live vendor leaderboard*

[Screen recording: a vendor’s bid card, placing a bid and seeing their live rank](https://www.heyganesh.in/assets/taabi-procure/bid-card.mp4)

*Vendor: bid card with live rank*

5 min

to set up an auction, down from days of spreadsheets and handoffs

₹50L ($52K)

below the starting price, in the pilot

My role & contributions

| Product strategy | Took the product from 0 to 1 with the PM, shaping what to build and for whom |
| --- | --- |
| End-to-end design | Every screen for both sides: dashboard, auction creation, live monitoring, bid history and the vendor bidding experience |
| Design system | Extended the design system I built for Taabi TMS to cover Procure |

Context

## Every auction went through someone else’s platform

Taabi builds logistics software for enterprises, and our transport platform, Taabi TMS, already ran freight auctions. Then an enterprise’s procurement team came to us. They run auctions to buy materials, where vendors bid the price down, and to sell them.

Before Taabi Procure, a single auction looked like this:

![The old process: the team sends a spreadsheet to vendors, vendors fill in RFQ rates, a few days later the team fixes the starting price and decrement, then sends the sheet to a third-party platform, which sets up and runs the auction while vendors bid.](https://www.heyganesh.in/assets/taabi-procure/old-process.webp)

Days of back-and-forth between three parties, before the first bid

That left the team with four problems:

ERR_01

No access to set up their own auctions

ERR_02

No real-time visibility

ERR_03

Limited auditability

ERR_04

High coordination overhead

First version

## We showed them our freight auction, relabelled

What we built

Our freight auction from Taabi TMS with new labels and text, so we could put something in front of the team fast.

What we saw

Vendors couldn’t tell where they stood. The manage screen was cluttered. No final report, no audit logs.

Insight

Reuse got us feedback fast. Material auctions needed their own rules.

![Contract RFQs list and auction leaderboard from the existing Taabi TMS module](https://www.heyganesh.in/assets/taabi-procure/tms-auction.webp)

V1: the relabelled freight auction we showed the procurement team

Research

## One live auction. Four rules.

Later, we sat in on a live auction the procurement team ran on the third-party platform. Four things stood out.

| What we learned | What it became |
| --- | --- |
| Enterprises need control, and every auction setup differs | A step-by-step setup the team runs themselves |
| Each vendor may start from their own quotation | A starting price per vendor, chosen in Step 1 of setup |
| Communication should stay in-platform | Messaging |
| Anti-collusion and audit trails matter | IP conflict detection and audit logs |

Design decisions

## Flow first, screens second

After the live auction, the PM and I worked out the flow before any screens. Our first pass put the whole setup on two long pages.

01

### Every site and material gets its own child auction

Instead of

One auction with a single starting price and bid gap.

Because

Materials don’t share a price, a unit or a bid step. Rubber trades per ton, flaps per piece.

What it changed

One setup for the whole event, while each child auction runs on its own timer, leaderboard and L1.

![One auction splits into child auctions by site and material: rubber and carbon at Bhandup Plant, flaps at Nagpur Plant, each with its own starting price, unit, bid gap and vendors, and each running on its own timer, leaderboard and lowest bid](https://www.heyganesh.in/assets/taabi-procure/child-auctions.webp)

One setup, three child auctions, each priced in its own unit

02

### Vendors are invited per material, and choose what they bid on

Instead of

Sending the whole auction to every vendor.

Because

No point inviting a vendor who doesn’t supply it, and one who does may not want to bid this time.

What it changed

The team invites only relevant vendors. Vendors tick what they’ll bid on, and how much they can supply.

![Enterprise assigning vendors to one material at Bhandup Plant](https://www.heyganesh.in/assets/taabi-procure/vendors-per-material.webp)

*Enterprise: vendors assigned per material*

![Vendor selecting the materials to quote for, and the tons they can accept](https://www.heyganesh.in/assets/taabi-procure/accept-reject.webp)

*Vendor: picks the materials to quote for*

03

### Setup became 7 short steps, one decision each

Instead of

Two long pages that held every setting at once.

Because

Nobody could tell what to do next, and every material needed its own price and bid gap.

What it changed

Pricing first, then timing, rates and a final check. Each step does one thing.

2 long pages → 7 short steps

1. Before · 2 long pages
2. Page 1
3. Page 2
4. After · 7 steps
5. Step 1 of 7

![Before, page 1: auction model, price source, sites, materials, vendors and starting prices on one long page](https://www.heyganesh.in/assets/taabi-procure/early-page1.webp)

![Before, page 2: schedule, ranking, item rules, extension rules, rank visibility and bid logic on one long page](https://www.heyganesh.in/assets/taabi-procure/early-page2.webp)

![After: Step 1 of 7, with all 7 steps listed in the sidebar](https://www.heyganesh.in/assets/taabi-procure/create-auction-step1-inner.webp)

Page 1 held the auction model, the price source, and every site, material, vendor and starting price.

### The final steps

Step 1: Auction type, and whether vendors share one starting price or start from their own

![Step 1: Select Rules](https://www.heyganesh.in/assets/taabi-procure/create-auction-step1-inner.webp)

1. Step 1: Auction type, and whether vendors share one starting price or start from their own
2. Step 2: Materials and vendors, site by site, each material with its own starting price and bid gap
3. Step 3: Each vendor’s starting price, material by material, typed in or bulk uploaded
4. Step 4: Ranking rules, in a step of their own
5. Step 5: Timing and extension rules, once the pricing is set
6. Step 6: Past rates for each material, optional, to compare the bids against
7. Step 7: One last check of every rule, material and vendor price before publishing

Trade-offs

## Two ideas we cut

### Sequential auctions

The idea

Run child auctions one after another, each starting when the previous one ends.

Why we dropped it

Child auctions could end early or run late, so start times kept shifting and vendors could miss theirs. We kept simultaneous only.

![Child auction execution mode selector](https://www.heyganesh.in/assets/taabi-procure/child-auction-execution.webp)

### Proxy bid

The idea

The enterprise places an anonymous bid so vendors keep competing without knowing who moved the ranking.

Why we dropped it

An auction runs on trust. Vendors need to know every bid comes from a real competitor, and a hidden enterprise bid would break that.

![Place proxy bid form](https://www.heyganesh.in/assets/taabi-procure/proxy-bid.webp)

Enterprise experience

## Watch every auction as it runs

![Enterprise dashboard showing multiple active auctions at a glance](https://www.heyganesh.in/assets/taabi-procure/vendor-leaderboard-tabs.webp)

01

### Multiple auctions

Every child auction gets its own card: the material, the site, the lowest bid, the time left, bids received and how many vendors responded.

![Auction detail screen with tabbed navigation for bids, leaderboard, and details](https://www.heyganesh.in/assets/taabi-procure/info-on-top.webp)

02

### Tabs experience

Opening a card keeps the auction’s details on top, with five tabs below: time-wise bids, vendor leaderboard, extended details, participants and audit logs.

![Bid history side sheet sliding open, cinematic flow](https://www.heyganesh.in/assets/taabi-procure/side-sheet-cinematic-flow.webp)

03

### Bid history

Clicking a vendor on the leaderboard opens their bids in a side sheet: every amount with its time and IP, and a bid summary.

Vendor experience

## Know your rank at a glance

Once they’ve picked their materials, vendors bid from one page, with a card for each child auction, grouped by site. Each card shows their rank or band, the current L1 rate, their last bid, the material and the charge unit.

*An interactive bid card sits here on the web page: switch the auction type and rank method, and place a bid.*

Key features

## Messages and collusion alerts, inside the auction

### Messaging

From research: communication should stay in-platform

The team can message one vendor or broadcast to all of them. Messages stay short and simple.

Vendors pick the child auction before they write, so every message lands on the right auction.

![In-platform auction messages between enterprise and vendors](https://www.heyganesh.in/assets/taabi-procure/messaging.webp)

### IP conflict detection

From research: anti-collusion and audit trails matter

The platform flags vendors bidding from the same IP, a common sign of collusion, while the auction is still running. In the pilot, it caught two vendors.

![IP conflict detection modal flagging vendors on the same IP address](https://www.heyganesh.in/assets/taabi-procure/ip-conflict.webp)

Outcome

The pilot

## Days → a few hours

Setup takes about 5 minutes now, and the auction wraps up in a few hours.

**₹50L ($52K)** below the starting price

**2 vendors** caught colluding, and blacklisted

**Under 2 months** to build, reusing Taabi TMS parts

|  | Before | With Taabi Procure |
| --- | --- | --- |
| Visibility | No real-time view of bids or ranks | Live rankings and bid history |
| Audit | No records | Full bid trail, in-platform messages, and a report when it ends |
| Collusion | Invisible | Same-IP vendors flagged during the auction |

What vendors told us after the pilot

> Much simpler than [the big procurement platforms].

*Vendor, after the pilot · translated from Hindi*

> The messaging option wasn’t there on other platforms. We had to call or mail.

*Vendor, after the pilot*

What’s next

## From approved RFQ to live auction, in one step

Status: Under dev

An RFQ, or request for quotation, is where vendors send their prices before an auction starts. An approved RFQ will turn straight into an auction, carrying over materials, vendors, pricing and rules. No re-entering data, and faster setup.

![Proposed RFQ-to-auction workflow, request for quotation step 1](https://www.heyganesh.in/assets/taabi-procure/rfq-workflow.webp)

Learnings

## What it taught me

### When I design for one side, I have to think about the other

Ranking visibility, timing and messages had to work for both sides, so I designed the two experiences together.

### Options only help when they come in the right order

The same settings felt hard on two long pages and simple across 7 ordered steps. Giving people options wasn’t enough. I had to give them a sequence.

---

Next case study

Vehicle Gate-in

Every last-minute driver change became a support ticket

[Read case study →](https://www.heyganesh.in/work/vehicle-gatein)

Contact Ganeshkumar: ganeshbluesky05@gmail.com · LinkedIn https://www.linkedin.com/in/heyganeshkumar · X https://x.com/heyganesh_in · Resume https://www.heyganesh.in/assets/resume.pdf
