Back to Portfolio

Case Study

SthaniyaVendor

A hyperlocal vendor portal that helps local kirana stores and street merchants digitize their entire business — featuring AI voice + image inventory, UPI QR billing, barcode scanning, and an offline-first buyer discovery mobile app.

Full Stack Developer React · FastAPI · Python React Native · Expo Gemini AI · TensorFlow.js PostgreSQL
SthaniyaVendor — Hyperlocal Vendor Dashboard

SthaniyaVendor vendor dashboard — inventory, UPI QR billing, and AI-powered product entry

~0 min
Setup time for a new vendor (phone auth only)
3-in-1
Web dashboard + POS billing + Mobile buyer app
₹0
Infrastructure cost for AI inference (runs on-device)

01 — Problem

Local Shops vs. Quick Commerce Giants

India's kirana stores, vegetable vendors, dairy booths, and street merchants are losing ground to quick-commerce platforms that have proprietary digital infrastructure. Despite serving millions of customers daily, local merchants have no affordable way to digitize.

High Learning Curve

Existing POS/billing systems are designed for large retailers, requiring high technical literacy that micro-merchants don't have.

Expensive Hardware

Traditional billing software requires upfront PC purchases, barcode guns, and licensing costs — unaffordable for small vendors.

High Sign-Up Friction

Traditional portals need complex email registrations, business documents, or bank approvals before a vendor can start selling.

Language Barrier

Most digital tools are English-only, making them inaccessible to elderly shop owners who speak Hindi, Gujarati, or regional dialects.


02 — Solution

Zero-Setup, AI-First Digitization

SthaniyaVendor provides a completely free, mobile-first, friction-free portal requiring zero technical training. Vendors sign up with their phone number, and their entire business is digitized in minutes.

Core Insight: The primary barrier for micro-merchants isn't cost — it's friction. By removing every form of manual data entry (using voice, camera, and barcode scanning) and replacing it with AI, even an elderly vendor with no smartphone experience can onboard their shop in under 5 minutes.

The platform is split into two halves: a vendor web dashboard (React + Vite) for shop management and billing, and a buyer discovery mobile app (React Native + Expo) that lets customers find local shops and products on an interactive map.


03 — Features

What SthaniyaVendor Does

Hinglish Voice Inventory (Gemini AI)

Vendors speak naturally in mixed Hindi-English — "Ek kilo chawal 50 rupay" — and Gemini AI parses it into structured database records: Product, Quantity, Price.

On-Device Image Recognition (TensorFlow.js)

MobileNet model runs entirely in the browser. Point the camera at any product and the category auto-fills — zero cloud GPU costs, infinite scalability.

Dynamic UPI QR Billing

Auto-generates secure scan-to-pay UPI QR codes bound to the vendor's bank VPA. Compatible with GPay, PhonePe, Paytm. Cart items + total calculated instantly.

One-Tap WhatsApp Receipts

After payment, vendor taps once to send a beautifully formatted HTML receipt to the customer's WhatsApp — paperless, instant, professional.

Barcode Scanning

Uses the device camera to scan product barcodes and auto-pull product codes, dramatically accelerating inventory creation for packaged goods.

Offline-First Buyer Map App

React Native + Expo mobile app shows nearby vendors as category-coded map pins. Buyers can search for specific products and get real-time directions — works offline too.


04 — Tech Stack

Architecture & Technologies

Web Frontend
  • React 18 + Vite
  • TypeScript
  • TensorFlow.js
  • Glassmorphism CSS
  • Lucide React
Backend API
  • Python 3.9+
  • FastAPI
  • SQLAlchemy ORM
  • PostgreSQL
  • PyJWT · Uvicorn
Mobile App
  • React Native
  • Expo + Expo Router
  • React Native Maps
  • Expo Camera
  • Local Storage Cache
Category Technology Why This Choice
AI / NLP Gemini AI API Handles Hinglish mixed-language voice parsing — converts unstructured speech to structured DB inserts
Image AI TensorFlow.js (MobileNet) Edge inference in-browser means ₹0 cloud GPU cost; works offline and scales infinitely
Database PostgreSQL + SQLAlchemy Strict relational schema ensures inventory integrity; ACID compliance for billing transactions
Auth PyJWT + Phone Auth Phone-first flow removes the biggest onboarding friction — no email, no documents needed
QR Payments Client-side SVG QR Gen Generated in-browser, not server-side — eliminates bandwidth cost and works without connectivity
Mobile React Native + Expo Single codebase for iOS + Android; Expo Camera enables barcode scan without native modules

05 — Challenges & Learnings

Hard Problems Solved

Hinglish NLP Parsing Accuracy

Vendors mix Hindi, English, and transliterated terms arbitrarily — "5 packet biscuit teen sau mein". Standard NLP models trained on clean English failed entirely.

Solution: Engineered a Gemini AI prompt with few-shot examples covering common Indian product categories, units (kilo, litre, dozen, packet), and price patterns. Added a validation layer that re-asks Gemini for clarification if confidence in unit/price parsing is below threshold.

TensorFlow.js MobileNet Load Time on Low-End Devices

Many kirana store owners use entry-level Android devices with 2GB RAM. Loading the full MobileNet model (4MB+) blocked the UI for 6–8 seconds on first load.

Solution: Implemented progressive model loading — the UI is fully usable immediately while the model loads in a background web worker. A subtle indicator shows model readiness. Used MobileNet v2 (smaller) instead of v3 for an additional 30% size reduction.

Offline Map Caching on Spotty Connections

Market lanes have inconsistent 4G coverage. Buyers couldn't discover vendors when connectivity dropped mid-session.

Solution: Implemented a local-first caching strategy in the React Native app. Vendor profiles and product lists within a 5km radius are pre-fetched and stored in AsyncStorage when the app first loads on strong connectivity. Subsequent sessions render from cache instantly, syncing delta updates in the background.

UPI Deep-Link QR Compatibility

Different payment apps (GPay, PhonePe, Paytm) parse UPI deep-link parameters inconsistently, especially around currency formatting and merchant name encoding.

Solution: Tested against the UPI specification v2.0 and built a sanitizer that normalizes all merchant names (strips special characters, encodes Unicode), validates VPA format, and formats amounts to exactly 2 decimal places — achieving compatibility across all major Indian payment apps.

06 — Impact

What SthaniyaVendor Achieves

SthaniyaVendor compresses a process that used to take a local vendor days of paperwork and training into a sub-5-minute phone-based onboarding. An elderly vegetable seller can speak their inventory in Hindi and begin accepting UPI payments within the same session — with no computer, no technical training, and no upfront cost.

This project sharpened my expertise in edge AI deployment (running ML models on resource-constrained devices), multilingual NLP prompt engineering, cross-platform mobile development with React Native, and building for Bharat — designing for users with low digital literacy and inconsistent connectivity.

Key Technical Achievement: The entire AI stack (voice NLP via Gemini + image classification via TensorFlow.js) operates at zero marginal infrastructure cost per vendor — Gemini handles NLP via API calls on user action, and TensorFlow.js runs purely client-side. This makes the platform economically viable as a free service at any scale.
View on GitHub View Other Projects