Krishnapriya K.
Back to work Product Thinking · Case 03

SahaKriya - Multilingual Mandi: AI-Assisted Marketplace and Negotiation for Local Trade

A real-time marketplace prototyped system where a vendor and a customer who speak different languages can agree communicate, make offers, process payments and negotiate on a price. Built solo in 24 hours for the AWS AI for Bharat Republic Day hackathon, where it won bronze .

Role Product, AI design & engineering · Solo
Scope Problem framing, AI services, real-time sessions, payments (test mode)
Status Working prototype · Demo available
Recognition Bronze Winner, AWS AI for Bharat hackathon (2026)
Tools

Problem

Illustration of a local market vendor [PLACEHOLDER: avatar]
Vendor Persona
“We struggle to reach more customers and negotiate smoothly with in person buyers who speak different languages. Also, we need a simple way to showcase our products online, suggest fair prices, and negotiate confidently while protecting our minimum profit.”

Language Barriers · Digital Visibility to regular customers · Diverse Language Marketplaces

Customer Persona
“We find it difficult to communicate with local vendors in new places who speak my non-native language and negotiate fairer prices. We need an easy way to browse products from our familiar vendors online, negotiate comfortably in our own language, and make convenient payments.”

Non-Native Speakers · Local Market Experience

Illustration of a customer shopping at a local market [PLACEHOLDER: avatar]

In local Indian markets, a vendor and a customer often do not always share a language, and hence purchase and bargaining on a crowded market depends on tone as much as on numbers. Also, local vendors are not available in online markets.

FailureWhy it happensEffect
Language gapVendor and customer may speak Hindi, Tamil, Telugu, Bengali or English. Integrating a literal translation of a bargaining message can sound blunt or rude.Deals stall or never start
Unclear pricesPrices are set by the vendor, change with season and demand, and the customer has no easy reference.Low trust in the price
Negotiation frictionBargaining relies on polite, indirect phrasing and repeated counter-offers. Without a shared language, it breaks down.Lost sales, strained relationships

The gap is not a missing marketplace. It is a missing way for two people to negotiate respectfully in different languages.

Product

One vendor, one customer, one shared session. Each writes or speaks in their own language, and the other reads it in theirs, phrased the way a polite market conversation would be.

CapabilityWhat the user gets
Location-aware pricingThe vendor gets suggested market prices for their products, adjusted for location, season and demand, instead of guessing or using a static list.
Cultural translationMessages are translated across five languages (English, Hindi, Tamil, Telugu, Bengali) and rewritten in polite, indirect marketplace phrasing, not word for word.
Negotiation agentThe agent proposes context-aware counter-offers for up to three rounds. It never goes below the vendor's floor price, which the customer cannot see.
Live shared sessionThe vendor and customer pair up with a 6-digit session code. Cart, stock and price changes appear on both screens instantly.
PaymentThe customer pays by UPI through Razorpay (test mode) or chooses cash, which the vendor confirms manually.
Enabling Digital PresenceThe local vendors can list their products online, reach a wider audience, and manage their digital storefront. This also enables regular buyers of a vendor to leverage online orders

Three constant considerations throughout the build

Accessibility

Make the marketplace easy to use through clear flows and voice-friendly interactions.

Language diversity

Let vendors and customers participate in the language they know best.

Digital presence

Help local vendors bring their storefront and products online.

How a deal happens

Vendor

Chooses a language and product categories. The AI generates products with suggested live prices. The vendor sets a selling price and a private floor price, then shares a 6-digit session code and handles negotiation, cart updates and payment from a dashboard.

Customer

Chooses a language and enters the vendor's code. Browses live inventory, adds items (stock is checked as they add), negotiates through the AI-assisted chat, and pays by UPI or cash.

Architecture

A React frontend and a Node/Express backend talk over Socket.IO for live updates. The backend calls Gemini 2.5 Flash through four separate services, each with its own API key and tuned settings.

LayerWhat it doesBuilt with
FrontendVendor and customer interfaces, five-language UI, voice input and outputReact, Tailwind CSS, i18next, Web Speech API, ResponsiveVoice
Real-time layerSession pairing, live cart and inventory sync, negotiation and payment eventsNode.js, Express, Socket.IO
AI servicesPricing, cultural translation, negotiation agent, polite-speech conversionGemini 2.5 Flash, one key per service (for MVP purpose)
PaymentsUPI order creation and verification; cash confirmation by the vendorRazorpay (test mode)

Build at a glance

The size of the prototype, counted from the repository.

WhatCountWhy it matters
Languages5English, Hindi, Tamil, Telugu and Bengali, each with voice input and output.
Translation keys1,313+The whole interface is localised, not only the chat messages.
AI services4Pricing, translation, negotiation and polite conversion, each with its own key and settings.
Real-time event types25+Session, cart, inventory, negotiation and payment updates between vendor and customer.
REST endpoints10+Supporting services for pricing, payments and health checks.
Components and services50+Built solo within the 24-hour limit.

Key screens

Decisions

DecisionWhy it holds
Translate for tone, not just wordsA literal translation of a bargaining message can offend. A separate polite-conversion step keeps the exchange respectful, which matters more in a market than word-perfect accuracy.
Protect the vendor's floor priceVendors would not trust an agent that could undercut them. The floor price lives with the vendor, and the agent cannot counter below it.
Cap negotiation at three roundsKeeps bargaining from looping and gives both sides a clear end point.
Split AI into four servicesPricing, translation, negotiation and polite conversion have different needs (temperature, length, volume). Separate AI integrations keep one busy service from using up the quota of the others. (Optimising for the MVP)
Pair with a 6-digit codeNo accounts or sign-up. A vendor and customer standing at a stall can join in seconds.
Let the AI fail visiblyThere is no fallback model. If the AI is unavailable, the app says so instead of producing a lower-quality result silently. This was a deliberate trade for a 24-hour build.

Scope & limits

This is a working prototype built in 24 hours, not a deployed product. I want the limits to be clear:

AreaCurrent state
DeploymentRuns locally. Not hosted. A demo video shows the full flow.
PaymentsRazorpay test mode only.
DataSessions and inventory are held in memory. Nothing is stored after a session ends.
CatalogueTwo categories (vegetables, fruits) with five products each.

Evidence

What exists today. Open the artifacts below.