Inspiration
Millions of small businesses in Pakistan sell on WhatsApp: home bakeries, tailors, clothing sellers and beauty services. Think of Ayesha, who runs a home bakery. All day she answers the same questions ("price kitna hai?", "Gulshan mein delivery hai?"). At night she misses orders. Customers bargain hard. And every few weeks someone places a cash-on-delivery order, the cake gets made, and nobody opens the door.
What it does
Most shop tools are built for English and card payments. Our customers write in Roman Urdu, like "1kg chocolate cake kitne ka hai? thora kam kar do". We wanted an assistant that talks the way they talk and protects the owner's money. Dukaan Dost is an AI shop assistant that works on the shop's behalf:
- Talks in Roman Urdu, Urdu or English, in the customer's own language.
- Answers questions from the owner's own shop info. It never invents a price, a policy or a delivery time. If it does not know, it says "owner se confirm karti hoon" and alerts the owner.
- Takes orders and bookings step by step. It checks the delivery area, shop hours and stock.
- Bargains only inside the owner's limits. Each ask moves the discount one step, and the numbers are calculated in code.
- Flags risky cash-on-delivery orders with plain reasons, before they ship.
- Remembers repeat customers and gives a loyalty reward (every 5th order).
- Gives the owner a dashboard: Inbox (alerts, and the owner can take over any chat and hand it back), Orders, Customers, Insights (sales, end-of-day report, monthly advice, live market price check) and Settings (paste the menu as text, mark an item out of stock).
How we built it
We use three NVIDIA Nemotron models on Nebius Token Factory, each in the smallest size that can do its job:
- Nemotron 3 Nano reads every message (language, intent, urgency) and answers simple questions.
- Nemotron 3 Super is the tool-calling agent for orders, bookings and bargaining (up to 6 steps), and it reads a pasted menu.
- Nemotron 3 Ultra writes the monthly business advice, only when the owner asks. The answer is cached.
The rule we follow everywhere: the model decides what to do, and code decides the numbers. Prices, totals, discounts and COD risk are always calculated in Python. Every reply is also checked in code before it is sent: any rupee amount must match the saved menu, and invented policies, false "order saved" claims and internal notes are blocked.
The backend is FastAPI. The frontend is React with Vite. Both are on Vercel, data is in Firebase, and market prices come from Tavily search. Token Factory has an OpenAI-compatible API, so we only changed the base URL of the standard openai SDK. The Customer chat page shows which model answered each message, so you can see the routing and the cost saving live. Per-phone and daily message limits and a daily AI budget protect the credits. The backend has 142 offline tests.
Challenges we ran into
- Billing. Token Factory billing does not support Pakistan, so a teammate abroad opened the account and shared access.
- Models that make things up. In testing, the assistant invented a refund policy, an "order limit", a halal claim and a delivery time. It also once said an order was saved when it was not. We fixed each one with a code check, not only a prompt.
- Messy Roman Urdu. Spelling changes from person to person ("kitne", "kitnay", "ktny"), and people mix scripts and languages in one message.
- Testing. We wrote about 190 test scenarios for a test bakery and tested a large part by hand: typos, fake owner messages, abuse, wrong times, big orders, out-of-stock items. Almost every fix came from a real chat that went wrong.
Accomplishments that we are proud of
- It works end to end in Roman Urdu, and the demo is live.
- A month of building and testing cost about $0.15 on Token Factory, because Nano handles most messages and Ultra is called rarely.
- The assistant never quotes a price that is not in the owner's menu.
- We published an honest list of limitations.
What we learned
Small, well-checked steps beat one big clever prompt. Let the model understand the customer, and let code handle money. Test with the messy messages real customers send, not clean examples.
What is next for Dukaan Dost
Owner login, real WhatsApp through Twilio or the WhatsApp Business API, voice notes turned into text, stock counts with low-stock alerts, address history and a shared fake-COD blocklist across shops, matching Urdu and English spellings of delivery areas, and deployment on Nebius Serverless.
Built With
- docker
- fastapi
- firebase
- firestore
- javascript
- nebius-token-factory
- nemotron-3-nano
- nemotron-3-super
- nemotron-3-ultra
- nvidia-nemotron
- openai
- pytest
- python
- react
- tavily
- vercel
- vite
Log in or sign up for Devpost to join the conversation.