DEV Community

KAUSHIKEE KARMAKAR
KAUSHIKEE KARMAKAR

Posted on

Mosquito Banner

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady

What I Built

Backyard Sweep is an AI-powered mosquito breeding site detection application that makes routine household inspections easier, quicker, and a little less tedious.

Mosquitoes breed in standing water, often in places we stop noticing: old tires, bottles, vases, coconut shells, buckets, and blocked drains. Health agencies recommend regularly emptying, scrubbing, or covering these containers. But manually checking every corner of a home can feel like another repetitive chore.

That's the problem I wanted to address.

Backyard Sweep turns that weekly inspection into a short walk. Instead of manually identifying every possible breeding container, users simply photograph areas around their homes. An open-weight YOLOv8 detector identifies potential breeding spots, highlights them with bounding boxes, and provides straightforward action tips:

  • Tip it out.
  • Scrub it.
  • Bin it.
  • Cover it.

The application also includes a few features designed to reduce unnecessary effort:

  • Direct Camera Access: Take photographs directly from a mobile device without navigating through additional steps.
  • Confidence Slider: Filter detection results without running the model again.
  • Copyable To-Do List: Convert detected objects into actionable household tasks.
  • Walk Tracker: Five photographs count as a completed inspection walk.
  • Optional Weather Card: Check live weather conditions through Open-Meteo before heading outside.
  • Light and Night Forest Modes: Choose between a clean light interface and a custom dark theme.

The idea is simple: spend less time figuring out what needs attention and more time actually taking care of it.

Backyard Sweep is designed for households, community volunteers, and people living in areas where dengue and mosquito-borne diseases are recurring concerns. It is free to use and is not a medical tool or disease prediction system. Its purpose is to make identifying and removing potential mosquito breeding containers less of a chore.

Demo

Live Application: https://mosquito-breeding-detector.onrender.com

Note: The application runs on Render's free server, so the first load after a period of inactivity may take up to a minute.

Backyard Sweep flagging containers in a photo from the dataset's test split

The demonstration image uses a photograph from the VisText-Mosquito test split. My own photographs were used separately for real-world field testing.

Code

GitHub Repository: https://github.com/KK-Dev0/Mosquito-Breeding-Detector

GitHub logo KK-Dev0 / Mosquito-Breeding-Detector

Backyard Sweep: YOLOv8 detector for mosquito breeding sites (tires, vases, bottles, coconut shells, drain inlets), trained on VisText-Mosquito.

Backyard Sweep

Turn the weekly "check for standing water" chore into a short, guided walk.

License Python FastAPI YOLOv8n Hacktoberfest

Live demo: https://mosquito-breeding-detector.onrender.com (Free server: the first load after a quiet spell can take up to a minute.)

Photograph anything around your home that could hold water. A YOLOv8 detector flags the containers that commonly breed mosquitoes, and each one comes with a plain-language tip for what to do about it.

Built for the Hacktoberfest 2026 Open-Source AI Challenge, Week 1: Touch Grass.

Backyard Sweep scanning a dataset test photo

Example result on a photo from the VisText-Mosquito test split (not one of my own photos). Photo: Faiyaz and Jisan, CC BY 4.0.

Contents

  1. Why this exists
  2. Features
  3. How it works
  4. Model and results
  5. API
  6. Why open source mattered
  7. Run it locally
  8. Deploy on Render
  9. Project structure
  10. Limits and responsible use
  11. Ideas for next steps
  12. Credits and licence

Why this exists

Dengue is spread by Aedes mosquitoes, which breed in small…

How I Built It

Backyard Sweep combines open-source computer vision with a lightweight web application.

1. AI Model — YOLOv8n

I used Ultralytics YOLOv8n, an open-weight object detection model, fine-tuned for 30 epochs at 640 px using a free Google Colab T4 GPU.

The model recognizes five categories of potential mosquito breeding containers:

  • Bottles
  • Coconut shells
  • Drain inlets
  • Tires
  • Vases

2. Dataset

I trained the model using the Breeding Place Detection subset of VisText-Mosquito.

  • 3,862 training images
  • 371 validation images
  • 183 test images
  • Five object classes
  • CC BY 4.0 license

Dataset citation: Faiyaz, Md Faiyaz Abdullah Sayeedi; Jisan, Md Adnanul (2025), VisText-Mosquito: A Multimodal Dataset for Mosquito Breeding Site Detection, Surface Segmentation, and Reasoning, Mendeley Data, V3, DOI: 10.17632/rtsfh7jh7p.3.

3. Application Architecture

  • Backend: FastAPI serves the trained detection model.
  • Frontend: HTML, CSS, and JavaScript, with no build step.
  • Hosting: Render free web service.
  • Weather Integration: Open-Meteo API, requested only when the user opens the optional weather card.
  • Image Processing: Photographs are processed in memory and are not saved.

4. Model Evaluation

On the held-out dataset test split (183 images, 424 objects), the 30-epoch model achieved:

Metric Result
mAP50 0.926
Precision 0.906
Recall 0.844

Class-wise AP50:

Class Test Instances AP50
Bottle 50 0.884
Coconut shell 101 0.973
Drain inlet 54 0.956
Tire 115 0.893
Vase 104 0.923

I also experimented with a longer 80-epoch training run, which stopped early at epoch 78. It did not outperform the original model: mAP50 decreased from 0.926 to 0.914, while recall decreased from 0.844 to 0.832.

I retained the original 30-epoch model.

5. Real-World Testing

A model performing well on a dataset does not automatically mean it will perform equally well outside the training environment.

I tested Backyard Sweep using five photographs taken around my own home. This was a small exploratory test, not a formal benchmark.

The results revealed some interesting limitations:

  • A pile containing two clear tires and one partially hidden tire produced only one correct tire detection at 41%. A parked car was incorrectly classified as a vase at 87%, while a dark corner was classified as a coconut shell at 70%.
  • A blue dustbin was classified as a vase at 83%.
  • Among approximately five paint buckets and tins, only one was detected at 25%, with three additional detections at 10%.
  • A rooftop containing two clay water pots, a plastic bucket, and a water tank produced no detections, even at 10%.
  • An open drain channel was also missed.

This showed that many everyday household containers were outside the model's original five classes. It also highlighted that confidence scores from unfamiliar real-world photographs cannot always be trusted.

6. Experimenting with YOLO-World

I wanted to explore whether another open model could identify objects that my fine-tuned YOLOv8n detector missed.

I experimented with YOLO-World, an open-vocabulary object detector, without additional training. I supplied custom descriptions such as clay water pot, bucket, and water tank.

These descriptions were selected after examining my photographs, so this was an exploratory demonstration rather than a fair independent comparison.

Metric Fine-tuned YOLOv8n YOLO-World
Dataset mAP50 0.926 0.297
Tire recall 0.80 0.017
Drain-inlet AP50 0.956 0.000
Loaded parameters ~3 million ~164 million
Model file size ~6 MB 329 MB

YOLO-World successfully identified objects my original model missed in the rooftop photograph, including a clay pot (89%), a bucket (77%), and a water tank.

However, it also produced false detections, identifying a parked car and a bathroom basin as water tanks, and confusing a real tire with a clay water pot.

I ultimately retained YOLOv8n because it performed considerably better on the dataset's trained classes and was much smaller.

I also investigated deploying YOLO-World. Its 329 MB model file and approximately 1.7 GB RAM requirement during my Colab test exceeded Render's free server memory limit of 512 MB.

My next step: Use YOLO-World to generate preliminary labels for additional household containers, manually correct the bounding boxes, and fine-tune the smaller YOLOv8n model using more diverse real-world photographs.

Development Process

I built this project with assistance from Claude through a chat-based workflow. Claude helped develop the FastAPI application and frontend, and drafted the README and this submission.

I handled model training in Colab, tested the application using my own photographs, investigated its failures, compared alternative models, evaluated the results, and made the final decisions about which model and architecture to retain.

Why Does Open Innovation Matter?

For Backyard Sweep, open innovation made experimentation, customization, and accessibility possible.

I never benchmarked a closed AI API against this application, so I cannot claim that open-source models outperform proprietary alternatives. However, using open-weight models gave me several important advantages.

1. Less Dependency on Paid AI Services

I could fine-tune a relatively small, approximately 3-million-parameter detector for a specific household inspection task without paying per-image inference fees.

2. Freedom to Experiment

I could switch between YOLOv8n and YOLO-World, evaluate both on the same dataset, investigate their limitations, and choose the architecture that best suited my deployment requirements.

3. Greater Control Over Data

Photographs are processed on a server I control rather than being sent to a third-party AI inference service. They are processed in memory without being saved.

4. Transparency and Reproducibility

The source code, model weights, dataset reference, and licensing information are publicly accessible. Other developers can inspect the implementation, reproduce the experiments, and adapt the project.

5. Accessible Deployment

A lightweight model can run on relatively inexpensive infrastructure, making the application accessible without expensive hardware or individual API subscriptions.

There are trade-offs, too. Ultralytics YOLO uses the AGPL-3.0 license, so the project is also licensed under AGPL-3.0. The free Render server also sleeps when idle.

For me, open innovation is about having the freedom to experiment, understand limitations, improve existing solutions, and build something that can evolve over time.

The Lazy Payoff

The biggest effort-saving idea behind Backyard Sweep is that users don't have to manually identify and remember every potential breeding container they encounter during an inspection.

Instead of:

  1. Walking around the house.
  2. Inspecting every container individually.
  3. Trying to remember which objects need attention.
  4. Making a mental or written checklist.
  5. Repeating the process during the next inspection.

Users can photograph their surroundings, review the AI-generated detections, and use the copyable to-do list to organize the actions they need to take.

The confidence slider also avoids unnecessary model re-scanning, while the five-photo tracker gives users a simple way to monitor their inspection activity.

But how much time does it actually save?

I haven't conducted a timed comparison between manual inspections and AI-assisted inspections yet, so I won't invent a time-saving percentage.

I did test the application on five photographs from my own home. That testing also revealed that the detector needs improvement when dealing with unfamiliar household objects and environments.

The goal isn't to eliminate the actual work of emptying, scrubbing, or covering containers. Those actions still require human effort.

It's to make the process of noticing, identifying, and organizing that work a little easier.

Sometimes being lazy isn't about avoiding responsibility. It's about finding a smarter way to get started.

Prize Categories

  • Best Use of Render: The FastAPI backend serving the AI detection model is deployed using Render's free web service.

Credits: Open-Meteo for providing the optional live weather information.

Top comments (0)