Table of Contents
🚨 The Problem We’re Solving
India has a three-layer healthcare crisis that no existing platform solves simultaneously:
| Problem |
Scale |
Current Solution |
| 12–25% of medicines in India are fake or substandard |
1.4 billion people at risk |
❌ None — no citizen-facing verifier exists |
| 65% of population is in rural areas with almost no qualified doctor |
900M+ people |
❌ eSanjeevani exists but requires English + stable internet |
| 22 official languages — health info mostly in English/Hindi only |
500M+ non-Hindi speakers |
❌ No voice-first multilingual health app |
Real incident: In July 2025, Delhi Police busted a counterfeit medicine ring supplying fake Johnson & Johnson and GSK medicines — made of chalk powder and starch — all the way into government hospitals. Patients had zero way to verify these medicines before consuming them.
SahiDawa fixes this. For free. Forever. Open source.
✨ What SahiDawa Does
💡 The Core Workflow
- 📱 Scan Medicine ➔ 🔍 AI Verifies (CDSCO) ➔ ✅ Real / ⚠️ Suspicious / ❌ Fake
- 🗣️ Speak Symptoms ➔ 🤖 AI Triage (22 Languages) ➔ 🏥 Find Nearest Pharmacy
- 📸 Report Fakes ➔ 🗺️ Community Heatmap ➔ 📢 District-Level Alerts
Core Features (Currently in active development)
| Feature |
Description |
Status |
| 🔍 Medicine Scanner |
Scan barcode/QR → verify against CDSCO database |
🚧 Building |
| 🖼️ AI Image Analysis |
Cloudinary-powered packaging comparison (real vs fake visual) |
🔜 Planned |
| 🗣️ Voice Health Assistant |
Symptoms in 22 Indian languages via Whisper + Sarvam AI |
🔜 Planned |
| 🗺️ Pharmacy & ASHA Map |
Verified Jan Aushadhi stores + ASHA workers via PostGIS |
🔜 Planned |
| 📊 Counterfeit Heatmap |
Community-reported fake medicines aggregated by district |
🔜 Planned |
| 🤖 CDSCO Alert Agent |
Autonomous agent monitoring CDSCO drug recalls every 6h |
🔜 Planned |
| 📶 Offline-First PWA |
Works without internet after first load (Workbox) |
🔜 Planned |
| 🆓 100% Free |
No ads, no premium plan, no data sold. Ever. |
✅ Always |
🏗️ Architecture
flowchart TD
A[Rural Citizen / Patient] -->|Scan Barcode / Voice Input| B[Next.js PWA Client]
B -->|API Request| C[Node.js Express API]
C <-->|Verify Data| D[(Supabase PostgreSQL)]
C <-->|Cache| E[(Redis Cache)]
B -->|Media Uploads| F[Python FastAPI Service]
F -->|Process Voice| G[Whisper ASR]
F -->|Analyze Image| H[OpenCV / TF Lite]
F -->|Medical Triage| I[Sarvam AI / LangChain]
I --> C
J[LangChain CDSCO Poller] -->|Fetch Recalls| K[CDSCO Portal]
J -->|Update Alerts| D
🛠️ Tech Stack
Frontend
Backend
AI / ML
Database & Storage
Infrastructure
🗺️ Roadmap & Phases
Phase 1 — Foundation & Core Scanner (Pre-GSSoC / Early May)
Phase 2 — Map + Multilingual + Offline (Coding Begins - Mid May)
Phase 3 — AI Health Assistant + Agents (Main Contribution Period - June)
Phase 4 — Polish, Security & Launch (Final Evaluations - July)
🚀 Getting Started
Prerequisites
node >= 20.0.0
python >= 3.10
docker >= 24.0 (optional, for full stack)
Quick Start (Frontend only)
# 1. Clone the repository
git clone https://github.com/RatLoopz/sahidawa-india.git
cd sahidawa-india
# 2. Copy environment variables
cp .env.example apps/web/.env.local
# Fill in your Supabase URL + anon key (free at supabase.com)
# 3. Install frontend dependencies
cd apps/web
npm install
# 4. Run development server
npm run dev
# Open http://localhost:3000
⚠️ Troubleshooting npm install Failures
If you encounter No matching version found errors while running npm install, it may be caused by the canary package versions used in this project.
Try running:
npm install --legacy-peer-deps
or:
npm install --force
If the issue still persists, you may temporarily downgrade package versions locally to get the project running on your machine.
⚠️ Important:
Do not commit modified package.json or package-lock.json files created during local downgrades. Revert those changes before pushing your PR.
Full Stack with Docker
# Clone and start everything
git clone https://github.com/RatLoopz/sahidawa-india.git
cd sahidawa-india
cp .env.example .env
# Edit .env with your keys
docker compose up --build
# Frontend: http://localhost:3000
# API: http://localhost:4000
# ML service: http://localhost:8000
# API Docs: http://localhost:4000/api/docs
Manual Backend Setup
# Ensure environment variables are set at the project root
cp .env.example .env
# Edit .env with your keys
# Start API Server
cd apps/api
npm install
npm run dev
# API Docs: http://localhost:4000/api/docs
ML Service (Python)
For detailed setup instructions, see: ML Setup Guide
For local setup instructions, see: Local Setup Guide
Quick start:
cd apps/ml
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload --port 8000
📁 Project Structure
sahidawa-india/
├── apps/
│ ├── web/ # Next.js PWA frontend
│ │ ├── app/ # App Router pages
│ │ ├── components/ # Reusable UI components
│ │ ├── lib/ # Utilities, API clients
│ │ ├── messages/ # i18n JSON files (22 languages)
│ │ │ ├── en.json
│ │ │ ├── hi.json
│ │ │ ├── ta.json
│ │ │ └── ... # one file per language
│ │ └── public/ # Static assets
│ ├── api/ # Node.js + Express API
│ │ ├── src/
│ │ │ ├── routes/ # API route handlers
│ │ │ ├── services/ # Business logic
│ │ │ ├── middleware/ # Auth, rate limiting
│ │ │ └── db/ # Database models + migrations
│ │ └── tests/
│ └── ml/ # Python FastAPI ML service
│ ├── routers/ # ML API endpoints
│ ├── models/ # TF Lite models
│ ├── services/ # Whisper, OpenCV, LangChain
│ └── agent/ # CDSCO monitoring agent
├── packages/
│ └── shared/ # Shared TypeScript types
├── data/
│ └── seeds/ # CDSCO drug database seeds
├── docs/ # Project documentation
├── .github/
│ ├── workflows/ # GitHub Actions CI/CD
│ ├── ISSUE_TEMPLATE/ # Bug report, feature request templates
│ └── PULL_REQUEST_TEMPLATE.md
├── docker-compose.yml
├── docker-compose.dev.yml
└── README.md
🤝 Contributing
We love contributions! SahiDawa is built entirely by the community.
👉 Read the CONTRIBUTING.md before submitting your first PR.
Quick contribution guide
- Check open issues — look for
good-first-issue label
- Comment on the issue saying you want to work on it
- Fork → branch → code → test → PR
- A maintainer will review within 24 hours
What can I contribute?
| Skill Level |
What to pick |
| 🟢 Beginner |
Language translations (messages/*.json), UI components, documentation, database seed data |
| 🟡 Intermediate |
Barcode scanner, pharmacy map, Cloudinary integration, i18n wiring, API routes |
| 🔴 Advanced |
Image classifier, Whisper ASR, LangChain RAG, CDSCO agent, PostGIS queries |
🌏 Supported Languages
SahiDawa aims to support all 22 Indian scheduled languages. (We are just getting started! Help us translate.)
| Language |
Status |
Contributor |
| English |
🚧 In Progress |
Core Team |
| Hindi (हिन्दी) |
🚧 In Progress |
— |
| Tamil (தமிழ்) |
🚧 In Progress |
— |
| Telugu (తెలుగు) |
✅ Complete |
GSSoC 2026 |
| Kannada (ಕನ್ನಡ) |
✅ Complete |
GSSoC 2026 |
| Malayalam (മലയാളം) |
🔜 Open |
— |
| Bengali (বাংলা) |
🚧 In Progress |
— |
| Gujarati (ગુજરાતી) |
🚧 In Progress |
— |
| Marathi (मराठी) |
🚧 In Progress |
— |
| Punjabi (ਪੰਜਾਬੀ) |
🚧 In Progress |
— |
| Odia (ଓଡ଼ିଆ) |
🚧 In Progress |
— |
| Assamese (অসমীয়া) |
🔜 Open |
— |
| Urdu (اردو) |
🚧 In Progress |
— |
| Sanskrit (संस्कृत) |
🚧 In Progress |
— |
| Maithili |
🔜 Open |
— |
| Kashmiri |
🔜 Open |
— |
| Konkani |
🔜 Open |
— |
| Sindhi |
🔜 Open |
— |
| Dogri |
🔜 Open |
— |
| Bodo |
🔜 Open |
— |
| Manipuri |
🔜 Open |
— |
| Santali |
🔜 Open |
— |
📊 Data Sources (All Free & Public)
🏆 GSSoC 2026
This project is participating in GirlScript Summer of Code 2026 under both:
- 📂 Open Source Track — 10 labeled issues (Coming Soon) for all skill levels
- 🤖 Agents for India Track — CDSCO autonomous alert agent (Coming Soon)
We are also a Cloudinary Bounty Partner project — contributors who build features using Cloudinary’s Media API earn bonus GSSoC leaderboard points.
📜 License
SahiDawa is licensed under the MIT License — free to use, modify, distribute, and deploy.
See LICENSE for full text.
👥 Contributors
Thank you to all the incredible people who have contributed to making SahiDawa a reality! 🙌
🙏 Acknowledgements
- GirlScript Foundation for GSSoC 2026
- CDSCO for the public drug database
- Sarvam AI for Indian language models
- Cloudinary for media infrastructure & GSSoC bounty partnership
- Every contributor who believes healthcare is a right, not a privilege
❤️ Why Open Source?
Healthcare accessibility should not depend on income, location, or language.
SahiDawa is community-driven and built to remain free forever.
Built with ❤️ for 1.4 billion Indians
If this project helps even one person avoid a fake medicine, it was worth it.
评论