Vyapar saathi
Voice empowering 63M Indian MSMEs through Hindi AI
Created on 17th January 2026
•
Vyapar saathi
Voice empowering 63M Indian MSMEs through Hindi AI
The problem Vyapar saathi solves
The Problem It Solves
🎯 Core Problem: India's 63M MSMEs Lose ₹50,000/Month Due to Poor Record-Keeping
Small shop owners (kiranas, salons, repair shops) face a critical dilemma:
- Can't read/write well → Struggle with accounting apps (English UI, complex forms)
- No time → 2+ hours/day wasted on manual bookkeeping in notebooks
- Forget transactions → Miss udhaar (credit) recovery, lose track of inventory
- No insights → Don't know which products sell best or when to reorder
Result: Average ₹50k/month losses from missed payments, stock-outs, and inefficiency.
✅ How VyapaarSathi Solves This
VyapaarSathi is a Hindi-first voice AI agent that lets shopkeepers run their business by simply speaking—no typing, no forms, no English.
🗣️ 1. Voice-First Credit (Udhaar) Tracking
Problem: Shopkeepers forget who owes money, miss follow-ups
Solution:
- Speak: "Ramesh ka 600 rupaye udhaar laga do"
- Agent confirms in Hindi, writes to database, auto-schedules WhatsApp reminder
- Ask: "Ramesh ka kitna baaki hai?" → Instant answer with payment history
Impact: Recover 80% more pending payments, reduce bad debt
📦 2. Smart Inventory Management
Problem: Stock-outs lose sales, overstocking locks capital
Solution:
- Speak: "Cheeni kitna bacha hai?" → Agent checks real-time stock
- Proactive alerts: "Cheeni low hai, 3 din mein khatam hoga"
- AI predictions: Analyzes sales velocity → "50 kg Cheeni order karo"
Impact: Eliminate stock-outs, save 2 hours/day on manual counting
💰 3. Conversational Business Intelligence
Problem: Owners have no idea which products are profitable
Solution:
- Speak: "Aaj ka hisaab batao" → Daily sales summary with profit margins
- Ask: "Konsa product zyada bik raha hai?" → Top 5 products with revenue trends
- Get predictions: "Reorder kya karna chahiye?" → AI calculates what to buy based on sales patterns
Impact: Make data-driven decisions without Excel sheets
📱 4. Instant Order & Billing
Problem: Writing bills manually is slow and error-prone
Solution:
- Speak: "Neha ke liye 5 kilo chawal aur 2 chai patti pack karo"
- Agent creates order, calculates total, updates inventory automatically
- Handles cash/UPI/credit payments, adds udhaar if needed
Impact: 3x faster checkout, zero calculation errors
🌐 5. Works Offline (Zero Internet Needed)
Problem: Rural shops have poor connectivity, can't use cloud apps
Solution:
- All data stored locally in SQLite
- Voice processing runs on-device (Whisper + Ollama)
- Actions queue automatically, sync when internet returns
Impact: Truly accessible for Bharat's next billion users
🎯 Who Benefits & How
| User Type | Current Pain | VyapaarSathi Solution | Time/Money Saved |
|---|---|---|---|
| Kirana Owner | Maintains notebook, forgets entries | Voice udhaar tracking with auto-reminders | 2 hrs/day, ₹30k/month recovered |
| Salon Owner | Can't track which services are profitable | "Profit kitna hua?" → Instant margin analysis | ₹15k/month better pricing |
| Mechanic Shop | Loses track of spare parts inventory | "Low stock kya hai?" → Proactive reorder alerts | ₹20k/month no stock-outs |
| Street Food Cart | No time to write bills during rush | Voice orders with auto-billing | 50% faster service |
🔥 Why Existing Solutions Don't Work
| Solution | Problem | VyapaarSathi Advantage |
|---|---|---|
| Tally/Vyapar Apps | English UI, complex forms | Pure Hindi voice, zero typing |
| WhatsApp Business | Manual typing, no analytics | Voice input + AI insights |
| Paper Notebooks | Slow, error-prone, no reminders | Automatic, searchable, proactive |
| Generic Chatbots | Just answers questions | Takes actions (DB writes, reminders) |
🚀 Real-World Impact
✅ Saves 2+ hours/day on bookkeeping
✅ Recovers ₹30-50k/month in missed udhaar
✅ Eliminates stock-outs with AI predictions
✅ Works offline for rural/remote areas
✅ Zero training needed - if you can talk, you can use it
✅ Scales from 1-person shops to 50-employee chains with same voice UI
💡 Example Use Case
Scenario: Sharma Kirana Store (Delhi)
Morning (9 AM):
- Owner: "Aaj ka stock check karo"
- Agent: "Cheeni 4 kg bacha hai, Namak 3 kg. Dono low hain!"
Afternoon (2 PM):
- Customer buys 5 kg rice, 2 tea packets on credit
- Owner: "Ramesh ka 300 rupaye udhaar add karo"
- Agent: ✓ Ledger updated, reminder set for 3 days
Evening (7 PM):
- Owner: "Aaj ka hisaab batao"
- Agent: "Total sales ₹2,450. Cash ₹1,800, Credit ₹650. Top product: Chawal (15 kg). Profit: ₹420"
Result: Complete business visibility in 3 voice commands, zero manual work.
Challenges we ran into
Challenges I Ran Into
Building a production-ready Hindi voice agent with dual deployment modes (cloud + 100% offline) presented several complex technical challenges. Here's how we solved them:
1. Backend Pipeline Integration Hell
CHALLENGE:
Integrating LiveKit Agents + Google Gemini Realtime API + SQLite + 18 custom function tools created a nightmare of connection errors, async/await conflicts, and tool registration failures.
Initial problems:
- LiveKit's function_tool decorator wouldn't recognize our database functions
- Database connections were timing out during voice sessions
- WebSocket disconnections caused data loss mid-transaction
- Function calling would fail silently with no error logs
SOLUTION:
After 15+ failed attempts, we realized the issue was in how we structured the database manager:
✓ Implemented context manager pattern for database connections to prevent leaks
✓ Added proper async/await wrappers around all SQLite operations
✓ Created a singleton DatabaseManager instance to prevent multiple connection pools
✓ Added explicit error handling and rollback mechanisms in every tool function
✓ Used RunContext properly to pass agent state between function calls
Key breakthrough: We discovered that LiveKit requires ALL function tools to be async, even if they call synchronous DB operations. Wrapping sync DB calls in async wrappers solved 90% of our errors.
# This FAILED: @function_tool def add_udhaar(customer_name: str, amount: float): cursor.execute(...) # Sync call in async context # This WORKED: @function_tool async def add_udhaar(ctx: RunContext, customer_name: str, amount: float): with db_manager.get_connection() as conn: # Context manager cursor.execute(...)
Tracks Applied (3)
Open Innovation
SCAILE Track
SCAILE
Google Gemini API
Major League Hacking
Technologies used

