The product is deliberately simple on the surface: search or browse on Home, scan ranked results on the List, and see the five-source price/stock/ETA comparison on the Detail screen. Everything hard happens in the backend (Doc 05).
The three core screens
Prices, ETAs and stock are illustrative. Screens shown at ~1× phone width.
What each element is bound to
Every visible value maps to a field the backend produces. The comparison block is the ranked
offers[] array from the Price & Availability Engine (Doc 05),
and each source's numbers come through its adaptor in MCP Integrations (Doc 04).
| UI element | Bound to | Source |
|---|---|---|
| Delivery ETA badge ⚡ 11 min | offer.etaMinutes (per zone) | Winning source MCP → Doc 04 |
Struck-through MRP ₹295 | offer.mrpPaise / 100 | Source listing → Doc 04 |
Live price ₹268 | offer.pricePaise / 100 (effective, post-offer) | Doc 05 §Normalise |
| “You save ₹27 · 9%” | mrpPaise − pricePaise → % | Computed client-side |
| Source label “Best via Blinkit” | response.best (winning sourceId) | Doc 05 §Ranking |
| “Compare 5 sources” list | ranked offers[], sorted by score | Doc 05 §Ranking |
| Filter chips (Fastest / Cheapest…) | ranking weights override | Doc 05 §Signals |
| “18 results · comparing 5 sources” | sourcesReturned / sourcesQueried | Doc 05 §Scatter-gather |
| Search box | GET /v1/search?q= | Doc 03 §API surface |
| “excluded” / out-of-stock row | offer.inStock === false | Doc 05 §Ranking (dropped from live set) |
ETA is a promise, per zone
The badge reflects the hyperlocal ETA for the shopper's delivery zone — not a global figure — because quick-commerce stock and dispatch are store-specific.
“Best” ≠ cheapest
The winning source is chosen by the weighted score (price + ETA + stock + reliability), so free delivery and a 11-min ETA can beat a lower sticker price.
Re-validated at checkout
Numbers on Detail are cached (30–60s TTL). The winning offer is re-fetched live before payment so the shopper never pays a stale price.
Notes for engineering & design
Design tokens used
Source brand chips on the Detail screen use each platform's own colour (Blinkit green, Zepto violet, BigBasket lime, Flipkart blue, Amazon amber) purely to aid recognition; QuickCart chrome stays indigo/violet.