Inspiration
Quick-commerce saves time until a shopper has to open four apps, repeat the same searches, compare mismatched pack sizes, estimate fees, and discover at checkout that the apparent cheapest option was not actually cheapest.
Agent turns that fragmented flow into one native shopping run.
What it does
A shopper can type or speak a grocery list in one go. Agent searches connected quick-commerce providers independently, matches comparable products, and evaluates single-provider and split-cart combinations.
Instead of ranking only by shelf price, Agent validates the prepared carts and compares the payable total, including delivery fees, handling charges, taxes, quantities, provider cash, and eligible saved-card rewards. It clearly shows:
- the recommended basket and final amount
- which provider supplies each item
- alternatives and their totals
- unavailable items when only part of the list can be fulfilled
- clarifying choices only when the request is genuinely ambiguous
The shopper reviews the real prepared cart before continuing in the provider's native app. Agent does not place an order without the user's confirmation.
How it works
The iPhone app is built in SwiftUI with a hands-free voice mode and a focused shopping-run interface rather than a long chatbot transcript. A standalone TypeScript server coordinates provider connections for Blinkit, Zepto, Swiggy Instamart, and Flipkart Minutes.
The OpenAI Responses API is used sparingly for natural-language understanding and tool selection. Deterministic code handles product normalization, quantity and pack-size checks, fee-aware cart combinations, card-value calculations, cart preparation, and validation. This keeps responses fast, predictable, and token-efficient.
How Codex accelerated the build
Codex was the primary engineering environment throughout Build Week. It helped turn real device logs and failed shopping runs into reproducible tests, trace provider and OAuth failures, build the SwiftUI voice and shopping-run experiences, implement the standalone orchestration server, and repeatedly simplify the product based on end-to-end testing.
Key decisions made during those sessions included replacing a Siri-first flow with a native conversational interface, separating AI interpretation from deterministic commerce logic, continuing with available providers when one fails, and validating final carts before recommending a basket.
Challenges
Provider capabilities differ significantly: some expose MCP flows, some require browser-backed sessions, and some are read-only. Product names and pack sizes also vary across catalogs. The hardest part was preserving a simple user experience while making partial availability, authentication, fees, and cart verification honest and visible.
Accomplishments
- Native voice and text grocery requests on iPhone
- Multi-item search across four Indian quick-commerce providers
- Fee-aware single-provider and split-cart comparison
- Real cart preparation and final-total validation
- Partial-result handling when a provider is disconnected or an item is unavailable
- Saved-card reward modeling without storing card numbers
- Compact AI prompts and tool outputs to reduce latency and cost
- Automated server and iOS tests for the core shopping flow
What's next
Next we will harden provider integrations, expand catalog normalization and ingredient-aware matching, add optional health scoring, and make cart handoff and payment choices even smoother while keeping the user in control.
Built With
- cloudflare-tunnel
- codex
- model-context-protocol
- node.js
- openai-responses-api
- swift
- swiftui
- typescript