Bridging the Digital Divide with Zero Literacy Barriers! ๐พ
๐ Deploy on Render โข ๐ About โข โ๏ธ How It Works โข ๐๏ธ Architecture โข ๐ ๏ธ Tech Stack โข ๐ Setup
Vaani (เคตเคพเคฃเฅ) is India's first voice-first digital inclusion platform designed specifically for 300+ million functionally illiterate and semi-literate citizens. By removing text literacy as a pre-requisite for digital services, Vaani enables anyone who can speak to seamlessly access essential government schemes, agricultural advice, market commodity prices, weather forecasts, financial services, news, and emergency assistance.
While agriculture served as our entry point, Vaani empowers all underserved populations: farmers (146M), elderly citizens (104M), disabled persons (27M), domestic workers (50M), daily wage workers (139M), women in conservative families (80M), and migrant workers (139M) who are otherwise excluded from India's digital revolution.
Note
๐ฏ Mission: To democratize digital access across India by ensuring that literacy is never a barrier to accessing critical information, fundamental rights, financial tools, and life-saving emergency services.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ ๏ธ CHALLENGES IN RURAL & LITERACY-BARRED ACCESS โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฃ
โ โ
โ ๐ Text-heavy mobile apps & websites bar 300M+ citizens โ
โ ๐พ Farmers lack real-time market prices & crop disease infoโ
โ ๐๏ธ Government welfare schemes remain unused & inaccessible โ
โ ๐ฆ๏ธ Unpredictable weather losses without localized alerts โ
โ ๐ฑ Complex touch UI navigation confuses elderly & disabled โ
โ ๐ Poor internet connectivity in remote rural pockets โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Traditional mobile applications and digital government portals rely heavily on text literacy, complex menu navigation, and constant high-speed internet connection. This creates a severe digital divide, leaving over 695 million rural and semi-literate Indians without access to vital economic and social resources.
Vaani transforms digital interaction into an intuitive, voice-first experience powered by semantic NLU and local caching:
|
|
sequenceDiagram
participant User
participant WebUI as Browser UI / Mic
participant STT as Google Speech API
participant Router as Main Engine (main.py)
participant NLU as Sentence Transformer NLU
participant Services as Service Layer
participant TTS as gTTS & Audio Engine
participant Cache as Offline Cache / Local Data
User->>WebUI: Speak Query (Hindi/Regional)
WebUI->>STT: Stream Audio Input
STT-->>Router: Return Transcribed Text
Router->>NLU: Semantic Intent Matching
alt Online Mode
Services->>APIs: Query Agmarknet / Weather / News API
APIs-->>Services: Return Live Data
else Offline Mode
Services->>Cache: Query Local Cache / JSON Data
Cache-->>Services: Return Cached Response
end
Services-->>Router: Formulate Spoken Response Text
Router->>TTS: Convert Text to Speech (gTTS + Pydub)
TTS-->>WebUI: Stream Audio Playback (.mp3)
WebUI-->>User: Play Spoken Response & Display Card
|
Click microphone or speak naturally in Hindi / regional dialect |
Sentence Transformers map colloquial speech to underlying actions |
Fetches Agmarknet prices, OpenWeather reports, or cached JSON |
|
Remembers conversation history for seamless multi-turn follow-ups |
Generates natural speech with volume normalization & speed tuning |
Plays audio response clearly while rendering summary cards on screen |
flowchart TB
subgraph Client["๐ Client & Interaction Layer"]
WebUI["Web Interface<br/>(HTML5 / CSS3 / Web Speech API)"]
CLI["Terminal CLI Interface<br/>(Pygame Audio / SoundDevice)"]
end
subgraph Core["โ๏ธ Core Processing & Voice Pipeline"]
Router["main.py Engine Router"]
VoiceIO["voice_tool.py<br/>(STT & gTTS Synthesis)"]
LangMgr["language_manager.py<br/>(Multi-language Support)"]
NLU["Sentence Transformer & RapidFuzz<br/>Semantic Intent Classifier"]
OfflineMgr["offline_mode.py & CacheManager"]
end
subgraph Services["โก Domain Service Layer"]
S_Agri["Agriculture Service<br/>(Crops, Mandi Prices, Subsidies)"]
S_Weather["Weather Service<br/>(Live Weather & Forecasts)"]
S_News["News Service<br/>(Category Headlines & Summaries)"]
S_Scheme["Social Welfare Service<br/>(PM-KISAN, Loans, Pensions)"]
S_Finance["Finance & Expense Service<br/>(Calculator, Expense Tracker)"]
S_Emerg["Emergency Assistance<br/>(Helpline Router)"]
S_GK["Knowledge Service<br/>(Wikipedia & Gemini AI)"]
end
subgraph Data["๐พ Storage & External Integration Layer"]
Agmarknet["๐พ Agmarknet API"]
OpenWeather["๐ฆ๏ธ OpenWeatherMap API"]
GNews["๐ฐ GNews API"]
Gemini["๐ง Google Gemini AI"]
LocalData[("๐ฆ Local JSON Data<br/>(30+ Crops, Schemes, Cache)")]
end
WebUI -->|1. Voice / Text Query| Router
CLI -->|1. Mic Audio Input| Router
Router --> VoiceIO
Router --> LangMgr
Router --> NLU
Router --> OfflineMgr
NLU -->|2. Route Intent| Services
S_Agri --> Agmarknet
S_Agri --> LocalData
S_Weather --> OpenWeather
S_News --> GNews
S_News --> LocalData
S_Scheme --> LocalData
S_Finance --> LocalData
S_Emerg --> LocalData
S_GK --> Gemini
Services -->|3. Structured Response| Router
Router -->|4. Speech Output| WebUI
Router -->|4. Play Audio| CLI
style Client fill:#00d4ff,stroke:#0099cc,stroke-width:3px
style Core fill:#ff66ff,stroke:#cc44cc,stroke-width:3px
style Services fill:#ff6b35,stroke:#cc5529,stroke-width:3px
style Data fill:#00ff88,stroke:#00cc66,stroke-width:3px
Advanced STT, gTTS voice synthesis, Pydub volume/speed enhancement, Pygame playback, and semantic intent matching
Flask web engine serving REST endpoints, Web Speech mic integration, and responsive cards
Integrated government & commercial REST APIs for real-time weather, market rates, news, and knowledge queries
Offline-first local JSON caching architecture deployable on Render cloud or Docker containers
Vaani/
โ
โโโ ๐ vaani/ # Core Package Source Code
โ โโโ ๐ core/ # System Core & Engine Modules
โ โ โโโ ๐ main.py # Application entry point & command router loop
โ โ โโโ ๐ voice_tool.py # SpeechRecognition (STT) & gTTS audio pipeline
โ โ โโโ ๐ง context_manager.py # State management (NewsContext, AgriContext, SchemeContext)
โ โ โโโ ๐ language_manager.py # Multi-language translation & TTS code resolver
โ โ โโโ โ๏ธ config.py # Central triggers (30+ lists), phrases & API keys
โ โ โโโ ๐พ offline_mode.py # Offline connectivity checker & local fallback router
โ โ โโโ โก cache_manager.py # Cache invalidation & storage controller
โ โ โโโ ๐ api_key_manager.py # Secure API key encryption & loader
โ โ
โ โโโ ๐ services/ # Modular Domain Service Layer
โ โ โโโ ๐พ agriculture/ # Crop advisories (30+ crops) & Agmarknet market rates
โ โ โโโ ๐ฆ๏ธ weather/ # OpenWeatherMap API wrapper & rain advisories
โ โ โโโ ๐ฐ news/ # GNews API integration & headline summarizer
โ โ โโโ ๐ social/ # Government schemes (PM-KISAN, Ayushman Bharat) & emergency
โ โ โโโ ๐ธ finance/ # Expense tracker, daily calculator & financial literacy
โ โ โโโ ๐ง knowledge/ # Wikipedia API & Google Gemini AI fallback
โ โ โโโ ๐ฑ communication/ # SMS / USSD messaging integration
โ โ โโโ ๐ time/ # Current date, time & history facts
โ โ
โ โโโ ๐ utils/ # Shared Helper Utilities
โ โโโ ๐ web.py # Flask server entry point & web API routes
โ
โโโ ๐ data/ # Static Data Models & Offline Cache
โ โโโ ๐พ crop_data/ # JSON datasets for 30+ crops
โ โโโ ๐ scheme_data/ # Government scheme eligibility guidelines
โ โโโ ๐ณ loan_data/ # Microfinance & KCC loan details
โ โโโ ๐ธ subsidy_data/ # Agricultural subsidies documentation
โ โโโ ๐พ offline_cache/ # Cached news, weather, and market responses
โ
โโโ ๐ docs/ # Project Documentation
โ โโโ ๐๏ธ PROJECT_ARCHITECTURE.md # Detailed system architecture & flow diagrams
โ โโโ ๐ USER_MANUAL.md # End-user voice command guide
โ โโโ ๐ DEBUGGING_GUIDE.md # Error tracking & troubleshooting procedures
โ โโโ ๐ RENDER_DEPLOYMENT_GUIDE.md# Cloud deployment step-by-step instructions
โ
โโโ ๐ tests/ # Automated Test Suite (Unittest)
โโโ โก start_web.ps1 # Windows web interface launcher script
โโโ โก start_vaani.ps1 # Windows CLI launcher script
โโโ ๐ณ Dockerfile # Docker container build specification
โโโ โ๏ธ render.yaml # Render cloud deployment specification
โโโ ๐ requirements.txt # Python dependencies specification
โโโ ๐ setup.py # Package installation configuration
โโโ ๐ README.md # Main Project Documentation
โโโ ๐ LICENSE # MIT Open Source License
| Service | Example Hindi Voice Command | Functionality | Data Source / API |
|---|---|---|---|
| ๐พ Crop Advisory | "เคงเคพเคจ เคเฅ เคเฅเคคเฅ เคเฅ เคฌเคพเคฐเฅ เคฎเฅเค เคฌเคคเคพเค" |
Comprehensive farming guide, soil & sowing tips | Local JSON (30+ crops) |
| ๐ฐ Market Prices | "เคเค เคเฅเคนเฅเค เคเคพ เคฐเฅเค เคเฅเคฏเคพ เคนเฅ" |
Real-time commodity market prices | Agmarknet API |
| ๐ Govt Schemes | "PM Kisan เคฏเฅเคเคจเคพ เคเฅ เคฌเคพเคฐเฅ เคฎเฅเค เคฌเคคเคพเค" |
Scheme details, eligibility & application steps | Scheme JSON Datasets |
| ๐ฆ๏ธ Weather Report | "เคฆเคฟเคฒเฅเคฒเฅ เคเคพ เคฎเฅเคธเคฎ เคเฅเคธเคพ เคนเฅ" |
Temperature, humidity, rain forecast & advice | OpenWeatherMap API |
| ๐ฐ Voice News | "เคเค เคเฅ เคคเคพเคเคผเคพ เคเคฌเคฐเฅเค เคธเฅเคจเคพเค" |
Top headlines with interactive details | GNews API & Cache |
| ๐งฎ Calculator | "500 เคฎเฅเค เคธเฅ 200 เคเคเคพเค" |
Hands-free spoken arithmetic calculations | Internal Math Engine |
| ๐ธ Expense Tracker | "เคเคฐเฅเคเคพ เคเฅเคกเคผเฅ 500 เคฐเฅเคชเคฏเฅ เคฌเฅเค" |
Log expense items and query monthly spend totals | Local Storage / JSON |
| ๐จ Emergency | "เคเคฎเฅเคฌเฅเคฒเฅเคเคธ เคจเคเคฌเคฐ เคฌเคคเคพเค" |
Immediate helpline routing (100, 102, 1091) | Emergency Directory |
| ๐ง General Knowledge | "เคญเคพเคฐเคค เคเฅ เคฐเคพเคเคงเคพเคจเฅ เคเฅเคฏเคพ เคนเฅ" |
Answer curiosity questions & general facts | Google Gemini AI / Wikipedia |
- Python 3.8+ (Python 3.10+ recommended)
- Microphone & Speaker connected to your device
- FFmpeg installed (for audio enhancement with Pydub)
- Modern web browser (Google Chrome or Microsoft Edge recommended)
git clone https://github.com/ankittroy-21/Vaani.git
cd VaaniInstall Python packages:
pip install -r requirements.txtInstall FFmpeg:
- Windows (PowerShell):
.\scripts\install_ffmpeg.ps1
- Linux (Ubuntu/Debian):
sudo apt-get update && sudo apt-get install -y ffmpeg - macOS:
brew install ffmpeg
Create a .env file in the root directory:
WEATHER_API_KEY=your_openweathermap_key
GNEWS_API_KEY=your_gnews_key
AGMARKNET_API_KEY=your_agmarknet_key
GEMINI_API_KEY=your_google_gemini_keyFree API Keys:
- OpenWeatherMap: openweathermap.org
- GNews: gnews.io
- Agmarknet: data.gov.in
Windows (PowerShell Quick Start):
.\start_web.ps1Manual Start (Any OS):
python -m vaani.webOpen your browser at http://localhost:5000 ๐
python -m vaani.core.mainDeploy with Docker:
docker build -t vaani-app .
docker run -p 5000:5000 vaani-apptimeline
title Vaani Development Roadmap
section Phase 1 (Completed)
Q4 2025 : Core NLU & Voice Engine
: Agmarknet & Weather Integration
: Web Interface & Offline Cache
section Phase 2 (Current)
Q1 2026 : Multi-language Support (Marathi, Bengali)
: Render Cloud Deployment & Keep-Alive
: Advanced Financial Expense Logging
section Phase 3 (Upcoming)
Q2 2026 : AI Crop Disease Detection from Photos
: Native Android App with Offline Voice
: SMS / USSD Integration for Feature Phones
section Phase 4 (Future)
Q3-Q4 2026 : IoT Sensor Integration for Soil Moisture
: Voice Community Forum for Farmers
: Expansion to 10+ Regional Dialects
- Natural Hindi Voice STT & gTTS Audio Pipeline
- Agmarknet Live Mandi Prices & 30+ Crop Datasets
- Offline Mode Cache for Essential Schemes & News
- ๐ฑ Native Android Application - Offline voice processing on low-cost smartphones
- ๐ค AI Crop Disease Scanner - Instant leaf diagnosis using computer vision
- ๐ฒ USSD & Interactive Voice Response (IVR) - Access via basic feature phones without internet
- ๐ฃ๏ธ Extended Regional Language Support - Full support for Punjabi, Gujarati, Telugu, and Kannada
|
|
![]() Arpit Verma GitHub โข LinkedIn |
![]() Ankit Roy GitHub โข LinkedIn |
![]() Anurag Joshi GitHub โข LinkedIn |
College Minor Project | UN SDG Aligned (No Poverty & Decent Work)
This project is open-source under the MIT License โ see the LICENSE file for details.
If you find Vaani impactful or inspiring, please consider leaving a โญ on GitHub!
ยฉ 2026 Vaani Team | Built with โค๏ธ for Digital Inclusion


