Inspiration

Millions of small sellers run their shop from phone photos and chat messages. Listing, pricing, answering "how much?" and tracking orders all happen by hand. We wanted to see how much of that an AI can take over without ever being trusted with money.

What it does

Munshi is an AI storefront for small sellers.

  1. The seller uploads product photos. Gemini drafts the title, description and tags. It never suggests a price.
  2. The seller sets the price and stock, then publishes a public shop at /shop/.
  3. Customers browse and pay through PayPal Sandbox. Webhooks confirm the payment and update the order and the stock.
  4. A customer assistant answers questions in English or Urdu, using only the listing data. If the answer isn't in the data, it says "I don't know, please contact the seller."
  5. The seller dashboard shows orders, an AI-written order summary, and rule-based restock hints.

How we built it

Node/Express backend on Postgres (Neon), Cloudinary for images, PayPal Orders API v2 with signature-verified webhooks, Gemini for the AI layer, and a React/Vite frontend on Vercel. The backend runs on Render.

How AI is used (and limited)

The AI never decides price, totals or stock. Code and the database do. Every AI answer passes a number guard, so any price or quantity not found in the data is rejected and replaced with a safe fallback. The order summary's numbers are computed in code, and Gemini only turns them into prose.

How PayPal is used

PayPal Orders API v2 (create and capture) plus PAYMENT.CAPTURE.COMPLETED webhooks. A human always confirms before payment. PayPal acts as the payer's payment rail.

Evaluation

A 30-case grounding test (prices, stock, unknown questions, English and Urdu) scored 93.3% (28/30) on the first run after manual review. We also tested 8 real product photos: 5 gave clean drafts and 3 were weak (mugs, a jewellery shop window, sneakers). Details are in docs/LIMITATIONS.md.

Challenges

Keeping the AI honest. Free-tier rate limits. Image-hosting and CORS problems during deployment.

Honest limitations

Single-item checkout only. No refunds. Photo drafts are weak on cluttered images. The free Render server sleeps, so the first request can take about 50 seconds. The Gemini free tier is rate-limited. All data on the demo shop comes from sandbox testing.

What's next

Multi-item checkout, refunds, delivery tracking, a WhatsApp storefront, and a larger evaluation set.

Share this project:

Updates

Submission history