Skip to content

RatLoopz/sahidawa-india

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,516 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
GSSoC 2026 MIT License PRs Welcome 22 Languages Cloudinary CI Status

🩺 SahiDawa — सही दवा

India's First Open-Source Citizen Medicine Verifier & Rural Health Bridge

Scan any medicine. Verify it's real. Find safe pharmacies near you. Talk to an AI doctor in your language.

Built for Bharat. Not just India.


Report a Bug · Request a Feature · Join Discord · Read the Docs


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
Loading

🛠️ Tech Stack

Frontend

Backend

AI / ML

Database & Storage

  • PostgreSQL + PostGIS — Primary DB + geo queries
  • pgvector — Vector search for RAG
  • Supabase — Managed Postgres (free tier for dev)
  • Cloudinary — Medicine photo storage + image analysis (GSSoC 2026 bounty partner)

Infrastructure


🗺️ Roadmap & Phases

Phase 1 — Foundation & Core Scanner (Pre-GSSoC / Early May)

  • Project scaffolding (Next.js + TypeScript + Tailwind)
  • CDSCO drug database scraper + PostgreSQL schema
  • Barcode/QR scanner UI (ZXing)
  • Medicine lookup REST API
  • Supabase integration
  • GitHub Actions CI pipeline
  • English UI with i18n setup

Phase 2 — Map + Multilingual + Offline (Coding Begins - Mid May)

  • PostGIS pharmacy + ASHA worker map (Leaflet.js)
  • i18n system — 22 Indian language JSON files
  • Cloudinary photo upload integration
  • Offline PWA (Workbox cache strategies)
  • FastAPI ML microservice scaffolding
  • Redis caching for drug lookups
  • OpenCV.js packaging geometry detection

Phase 3 — AI Health Assistant + Agents (Main Contribution Period - June)

  • TF Lite medicine image classifier
  • Whisper ASR voice input (22 languages)
  • Sarvam AI + LangChain RAG health assistant
  • CDSCO drug alert monitoring agent (LangChain)
  • Counterfeit heatmap + D3.js visualization
  • Push notification system for district alerts

Phase 4 — Polish, Security & Launch (Final Evaluations - July)

  • WCAG 2.1 accessibility audit
  • Lighthouse CI (target 90+ score)
  • Docker Compose for self-hosting
  • OpenAPI/Swagger documentation
  • ABHA health card integration (optional)
  • Public launch

🚀 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. Install frontend dependencies
cd apps/web
npm install

# 3. Copy environment variables
cp .env.example .env.local
# Fill in your Supabase URL + anon key (free at supabase.com)

# 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

  1. Check open issues — look for good-first-issue label
  2. Comment on the issue saying you want to work on it
  3. Fork → branch → code → test → PR
  4. 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)

Source Used For
CDSCO Master medicine database — batch numbers, manufacturers, drug alerts
Jan Aushadhi Portal Generic medicine store locations across India
PMJAY Hospital Locator Ayushman Bharat empanelled hospitals
OpenStreetMap / Overpass API Pharmacy locations, routing
NHP — National Health Portal Drug monographs for RAG health assistant

🏆 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.


💬 Community


📜 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! 🙌

SahiDawa Contributors

🙏 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.

About

SahiDawa is an open-source platform that helps citizens verify medicines, find trusted pharmacies, and report suspicious drugs — designed for low-bandwidth environments and multilingual access across India.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors