🦟 Research Prototype — Public Health AI

MosquiSenseAI

AI-Assisted Mosquito Breeding Risk Intelligence — stagnant-water ka photo daalo, browser me real image analysis chalega, aur ek explainable breeding-risk assessment milegi jo aapke inputs par based hai. Free, mobile-first, privacy-first.

Prototype live Runs in your browser Larvae model: abstains by design Not a medical tool
🔬 Analyze an Image 📊 Explore Dashboard 🧪 How It Works ⚠️ Limitations
The problem, and what this proposesWhy it exists

Mosquito-borne illness starts in small pockets of stagnant water — a blocked gutter, a covered drum, an old tyre. Field surveys are slow, and most householders never connect a water container to risk. MosquiSenseAI is a decision-support prototype: it helps a resident or field volunteer structure what they observe, get an instant explainable assessment, and keep a simple record over time. It does not replace public-health authorities, and it never guesses what a photo cannot prove.

🖼️
Real image analysis

MobileNet v1 loads and runs inside your browser (TensorFlow.js, Apache-2.0). You see the model name, its classes and its confidence — clearly labelled as content classification, never as larvae proof.

🧭
Explainable risk assessment

A documented scoring table (weights in config.js) turns your observations into lower / moderate / higher / insufficient — with every contributing factor shown, plus what extra evidence would sharpen the result.

📈
Observation tracking

Save observations to a device-local dashboard: totals, category mix, habitat distribution, time trends, filters, and a consent-only location map. Includes clearly-labelled simulated demo data.

🛡️
Preventive guidance

Evidence-aligned, safe, non-chemical steps drawn from standard source-reduction practice — remove, empty, cover, clear. No pesticide recipes, no unsafe handling advice.

Scientific methodologyHow it works
  1. Separate the evidence streams. Model predictions (image classifier), user-reported observations (water, habitat, debris, larvae), and derived judgement (risk engine) are kept apart end-to-end and displayed in separate cards — confidence ≠ risk.
  2. Validate before inference. MIME type, extension, size (≤5 MB) and decode checks gate every upload; invalid input never reaches a model.
  3. Interchangeable model interface. model-runner.js exposes runContent() and runLarvae() over one contract; each returns ok | unavailable | error with model identity, license and latency. Timeouts degrade to an honest "unavailable" state — the environmental assessment keeps working.
  4. Abstention over fabrication. The larvae slot ships empty and returns an explicit unavailable status with the rejection rationale for every candidate model. No weights → no larvae claim. Ever.
  5. Interpretable scoring. The risk engine is a deterministic weighted sum (0–100) with published thresholds (≥65 higher, ≥35 moderate), rule overrides for confirmed larvae / absent water, and an insufficient-information gate when <3 factors are known.
  6. Reproducible training path. training/mosqui-sense-ai/ ships a group-aware, leakage-checked split; per-class precision/recall/F1; an abstention-coverage metric; seeded runs; and a TF.js export step — so validated weights can be added later without rewriting the web app.
Dataset & model informationHonesty card
Image model
MobileNet v1 (1.0, 224px), ImageNet-1k — Apache-2.0, via TensorFlow.js. Used for content classification and sanity checks.
Larvae model
Not bundled. Slot is implemented but returns unavailable: AGPL detector (license conflict), lab-aliquot counter (wrong domain), GLOBE classifier (~65% cross-region, PyTorch-only) were all rejected on record. See How it works for the full evaluation.
Confidence
Raw softmax output, uncalibrated — shown as a percentage of classifier belief about image content, not as correctness probability.
Training data
No field dataset is bundled. The prototype ships a documented manifest + leakage-safe split pipeline; metrics are only ever computed from your held-out split (never invented).
Risk score
Heuristic weighted sum (0–100), fully documented in METHODOLOGY.md. Explicitly not a probability, not a transmission estimate.
Licenses
MobileNet/TF.js: Apache-2.0. Prototype code: this repository's license. Demo records: generated, simulated.
Privacy statementOn-device
⚠️ Limitations — read before using resultsRead this
Prototype status — supported functionalityv1.0.0
✅ Works now
Image validation → preview → real MobileNet inference with top-5 content classes · explainable environmental risk assessment · observation save/delete/export/strip-location · dashboard counts, charts, filters, consent-only map · simulated demo dataset (labelled) · full offline-after-load operation.
⚠️ Honest gaps
Larvae classification (slot empty — abstains) · no cross-device sync · no server-side report submission · no calibrated confidence · map requires network tiles (falls back to coordinate list offline).
🧪 Experimental
Third-party weights slot for modelUrl — enable only after independent validation; output is still labelled unvalidated.
Built at DSWallah — real AI engineering, end to end

Validation, inference, explainability, testing, privacy and documentation — ek hi prototype me. Aap bhi aise projects build kar sakte ho.

Talk to DSWallah on WhatsApp →